Cloud Firestore是无架构的-文档没有强制架构。代码可以随时编写所需的任何字段。 (对于Web和移动客户端,这受安全规则约束,但对于后端代码,没有任何限制。)因此,Cloud Firestore中没有正式迁移之类的东西。
文档的“模式”由读取和写入这些文档的代码有效地定义。这意味着将数据迁移为新格式意味着您将不得不编写代码来执行所需的更改。确实没有解决此问题的简便方法。您真正能做的就是设计更新,以便在将它们移至另一个环境时不会破坏现有代码。这意味着您的代码应该能够抵抗重大更改,或者只是在所有代码都之后已更新以应对这些更改之后才执行重大更改。
,
您必须使用 Google Cloud 下载 Firestore 数据的存档。自己在档案上运行迁移脚本,然后上传档案以恢复您的 Firestore 数据库。
https://cloud.google.com/firestore/docs/manage-data/export-import
Google Cloud 为您提供了许多用于管理 Firestore 服务的命令行访问权限。
// manage indexes
gcloud firestore indexes
// export all data to a bucket
gcloud firestore export gs://[BUCKET_NAME]
// import data from a bucket
gcloud firestore import gs://[BUCKET_NAME]/[filename]
// manage admin "functions" currently running (i.e. kill long processes)
gcloud firestore operations
从 Google Cloud 存储分区下载/上传您的 JSON 存档
// list files in a bucket
gsutil ls gs://[BUCKET_NAME]
// download
gsutil cp gs://[BUCKET_NAME]/[filename] .
// upload
gsutil cp [filename] gs://[BUCKET_NAME]/[filename]
一旦您将 Google Cloud 设置为可从您的构建脚本访问。可以自动执行数据迁移脚本来下载、转换和上传数据。
建议在您的 Firestore 中维护一个“迁移”文档,以便您可以跟踪需要完成哪个迁移还原。
为避免繁重的迁移任务,请尝试向文档添加“版本”属性,然后使用查询构建器上的转换器回调将数据更改为“客户端”上的最新模式。虽然这不会帮助您处理 Firestore 规则或函数的更改。进行主要是装饰性的微小更改通常更容易。
本文链接:https://www.f2er.com/3124548.html