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

时间:2018-11-27 02:08:04

标签: google-cloud-firestore schema-migration

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

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

2 个答案:

答案 0 :(得分:4)

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

这是一个迁移脚本示例:

// migrations/v0.0.1__example.js

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

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

答案 1 :(得分:1)

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

如果新模式要求对整个数据库进行某些更改,则也可以考虑使用Firestore import / export system,它允许您将数据转储到GCS存储桶中。它不是您可能期望的JSON格式,但是与Cloud Datastore使用的格式类似,因此我认为它将帮助您解决此问题。