是否有可与rails ActiveRecord迁移媲美的firestore db模式迁移概念?

Mut*_*ion 5 schema-migration google-cloud-firestore

我们基于Firestore DB的模型自然发展。现在,我们想将所有现有文档更新为新的(隐式)架构。

是否有任何工具支持这一点或最佳实践是什么?我希望有一个与Rails ActiveRecord迁移相当的概念。

kev*_*ned 22

我找不到 firestore 架构迁移工具,所以我写了fireway。它目前非常简单(它不支持反向迁移),但对于我的用例来说已经足够了。

这是一个示例迁移脚本:

// migrations/v0.0.1__example.js

module.exports.migrate = async ({firestore}) => {
    await firestore.collection('name').add({key: 'value'});
};
Run Code Online (Sandbox Code Playgroud)

然后运行fireway migrate以迁移您的默认项目。


Ale*_*amo 7

目前,对于 Firestore,您必须编写自己的代码才能将所有现有文档更新为新的(隐式)架构。几周前我在一篇文章中读到,Firestore 团队正在努力使这在未来变得更容易。

如果您的新架构需要对整个数据库进行一些更改,您还可以考虑使用Firestore 导入/导出系统,它允许您将数据转储到 GCS 存储桶中。它不是您可能期望的 JSON 格式,但它与 Cloud Datastore 使用的格式相似,因此我认为会帮助您解决这个问题。