在数据存储区模式下从Google Datatore迁移到Firestore

时间:2019-03-19 04:40:04

标签: google-app-engine google-cloud-datastore datastore

我试图找到逐步指南,以将使用Datastore的现有项目迁移到Datastore模式下的新Firebase。如果您不想等待Automatic migration to Firestore,这是我的迁移经验。

Documentation页的“导出和导入实体”中有步骤,但是我很难弄清楚。所以我想分享经验。

一些注意事项:

  • 如果您拥有庞大的数据库,请注意成本/时间!
  • 还需要弄清楚将应用程序从Python 2.7迁移到Python 3的挑战(并非完全是数据存储问题,this doc page可能会有帮助!)!

1 个答案:

答案 0 :(得分:0)

  1. 从Google控制台创建一个新项目
  2. gcloud config set project <your-old-project-id>
  3. 在Google Storage (在旧项目中)上创建一个新存储桶
  4. 将数据库导出到新创建的存储桶gcloud datastore export gs://<your-new-bucket-name> (在旧项目中)

      

    等待中   [项目/ [您的旧项目ID] /操作/ AvcsdafSDFasdfI3MDQJGnRsdWFmZWQHEmVwb3J1Z   S1zYm9qLW5asdfcsopEg]完成...完成。

  5. 从Google控制台转到 IAM页面 (仍在您的旧项目中)

  6. 添加新的项目服务帐户帐户并授予“ 云” 数据存储区导入导出管理员”和“ 存储管理员”权限(出于某些原因, 注意: )查看器”的唯一权限,但出现以下错误,因此我改用了“ 存储管理员”!)

      

    ”详细信息: [新项目服务帐户] @ appspot.gserviceaccount.com没有storage.buckets.get访问 [new-project-id] .appspot.com。”

  7. 移至新项目gcloud config set project <your-NEW-project-id>

  8. 从存储桶gcloud datastore import gs://<your-bucket-path>/[FILENAME].overall_export_metadata导入数据,完成后,您将看到一条类似于export

    的消息。
      

    等待中   [项目/ [您的旧项目ID] /操作/ AaredafSDFa2otbmltZGEQCigSFmZWQHEmVwb3J1Z   S1z2otbmltZGEQCigS]完成...完成。

  9. 可选:随时删除新的项目服务帐户 旧项目IAM页面获得许可

  10. 如果浏览到新项目的“数据存储”页面,则您  应该会看到您迁移的实体