【发布时间】:2020-03-07 02:20:41
【问题描述】:
我有一个 Firebase 项目,它基本上有两个环境:Staging 和 Production。我组织它们的方式是创建不同的 Firebase 项目。我的每个项目都使用 Firebase Cloud Functions 和 Firestore。除此之外,我的每个项目都与特定的 GIT 分支相关联。这两个分支都集成到Google Cloud Build 中的 CI/CD 管道中。
所以,为了绝对清楚,我将分享一个简单的图表:
如您所见,我将云功能的源代码置于源代码控制之下,无需担心。当我遇到以下情况时,问题就出现了:
- 暂存上存在 Firestore 架构更改
- 云功能(在Staging上)已调整为新架构。
- 将 staging 分支合并到 production。
- 由于 生产 上的旧 Firestore 架构,新功能无法按预期工作。
为了解决这个问题,我需要手动转到 生产 Firestore 实例并在那里调整架构(存在弄乱生产数据的风险)。
在完美的情况下,我会自动执行该操作,并将现有项目数据调整为合并后动态进入的新模式。
这有可能吗?类似migrations in .NET Core。
【问题讨论】:
标签: firebase google-cloud-firestore