在firebase中对对象进行版本控制

kun*_*nal 18 database rest android ios firebase

我使用firebase作为移动应用程序的数据库.移动应用程序版本1使用某种DB结构.但在版本2中,我有一个主要的架构更改.我找不到任何提及管理数据库升级的最佳实践的具体文档.所以我正在考虑以下步骤,这些步骤在纸面上看起来不错.

  1. 应用程序版本1正在使用firebase/v1进行生产
  2. 将版本1架构firebase/v1复制到firebase/v2
  3. 升级firebase/v2架构
  4. 禁用firebase/v1上的写入操作
  5. 分发指向firebase/v2的应用程序v2

通过这些步骤,使用旧版本app的用户将只能读取数据.因此,除非他们不升级应用程序,否则他们将无法修改任何数据.

我是否在管理架构更新方面朝着正确的方向前进?或者有更好的方法来做到这一点.

小智 1

使用云函数数据库函数将数据从db/v1迁移到db/v2。在 db/v1 中的更新事件中,您可以并行写入 db/v2,因此所有活动用户数据都可以移至 db/v2。

https://firebase.google.com/docs/functions/database-events

尽快迁移数据!