26

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

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

4

2 回答 2

27

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

这是一个示例迁移脚本:

// migrations/v0.0.1__example.js

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

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

于 2019-08-04T17:31:53.173 回答
9

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

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

于 2018-11-27T09:43:19.590 回答