gpt4 book ai didi

firebase - 项目之间的 Firestore 架构迁移

转载 作者:行者123 更新时间:2023-12-04 15:38:48 24 4
gpt4 key购买 nike

我有一个 Firebase 项目,它基本上有两个环境:StagingProduction。我组织它们的方式是创建不同的 Firebase 项目。我的每个项目都使用 Firebase Cloud Functions Firestore 。除此之外,我的每个项目都与特定的 GIT 分支相关联。这两个分支都集成到 Google Cloud Build 中的 CI/CD 管道中.

所以,为了让它绝对清楚,我将分享一个简单的图表:

enter image description here

如您所见,我拥有受源代码控制的云函数的源代码,没有什么可担心的。当我遇到以下情况时,问题就来了:

  1. Staging
  2. 上存在 Firestore 架构更改
  3. 云功能(在 Staging 上)已调整为新架构。
  4. staging 分支合并到 production 中。
  5. 由于生产 上的旧 Firestore 架构,那里的新功能将无法按预期工作。

为了解决这个问题,我需要手动转到生产 Firestore 实例并调整那里的架构(存在弄乱生产数据的风险)。

在完美的情况下,我会让该操作自动化,并且现有项目数据将调整为合并后动态出现的新模式。

这有可能吗?类似于 migrations in .NET Core .

最佳答案

Cloud Firestore 无架构 - 文档没有强制架构。代码能够在任何时间编写它想要的任何字段。 (对于 Web 和移动客户端,这是受安全规则限制的,但对于后端代码,没有任何限制。)因此,在 Cloud Firestore 中没有正式迁移这样的事情。

文档的“架构”由读取和写入这些文档的代码有效定义。这意味着将数据迁移到新格式意味着您将不得不编写代码来执行所需的更改。确实没有简单的方法可以解决这个问题。您真正能做的就是设计您的更新,以便在将它们移动到另一个环境时它们不会破坏现有代码。这意味着您的代码应该能够适应重大更改,或者干脆不执行重大更改,直到所有代码都已更新以处理这些更改。

关于firebase - 项目之间的 Firestore 架构迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58800634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com