我们基于 Firestore DB 的模型自然而然地发展。现在我们想将所有现有文档更新为新的(隐式)模式。
是否有任何工具支持这一点或最佳实践是什么。我希望有一个可与 Rails ActiveRecord 迁移相媲美的概念。
我们基于 Firestore DB 的模型自然而然地发展。现在我们想将所有现有文档更新为新的(隐式)模式。
是否有任何工具支持这一点或最佳实践是什么。我希望有一个可与 Rails ActiveRecord 迁移相媲美的概念。
我找不到 firestore 架构迁移工具,所以我写了fireway。它目前非常简单(它不支持反转迁移),但对于我的用例来说已经足够了。
这是一个示例迁移脚本:
// migrations/v0.0.1__example.js
module.exports.migrate = async ({firestore}) => {
await firestore.collection('name').add({key: 'value'});
};
然后运行fireway migrate
以迁移您的默认项目。
目前,对于 Firestore,您必须编写自己的代码才能将所有现有文档更新为新的(隐式)架构。几周前,我在一篇文章中读到,Firestore 团队正在努力使这在未来变得更容易。
如果您的新架构需要对整个数据库进行一些更改,您还可以考虑使用Firestore 导入/导出系统,它允许您将数据转储到 GCS 存储桶中。它不是您可能预期的 JSON 格式,但它与 Cloud Datastore 使用的格式相似,因此我认为可以帮助您解决此问题。