从数据存储迁移到Firestore纯模式

时间:2019-04-16 16:58:52

标签: firebase firebase-realtime-database google-cloud-datastore gcloud datastore

上下文,我有一个带有数据存储区的项目,该项目已经加载了信息,目前我们想使用Cloud Firestore(本机模式),但是我们意识到迁移是不可能的,我必须使用Cloud Firestore(本机模式)有哪些替代方案)?

2 个答案:

答案 0 :(得分:0)

不幸的是,您需要在一个新项目中创建Cloud Firestore数据库,以允许您现有的服务帐户访问该新数据库。

答案 1 :(得分:0)

我刚刚从其中一个Web应用程序的数据存储区迁移到Firestore(本机模式)。这是我需要做的:

  1. 创建一个新的GCP项目,如Firestore(本机模式)和Datastore 不能在同一项目中共存。
  2. 将数据从旧项目中的数据存储迁移到新项目中的Firestore(本机模式)。在撰写本文时,还没有工具可以自动执行此操作。我编写了Python脚本,该脚本从Datastore读取所有记录,并将它们写入新项目中的Firestore。这些脚本使用从Cloud Console下载的服务帐户密钥在我的计算机上本地运行。
    • (附带说明:您可能会想先使用gcloud datastore export,然后再使用gcloud firestore import。这样做似乎可以正常工作,并且不会弹出错误消息。但是doc ID和JSON属性不会转换好。对我来说这是一个很大的时间。不要走这条路。)
  3. 重写应用程序中的数据访问层。 Firestore(本机模式)具有与Datastore不同的API。

这是很多工作,但就我而言是值得的:

  1. 我能够撤消很多服务器端代码,因为客户端可以直接访问数据库。
  2. 由于Firestore客户端库已经实现了脱机模式,因此我能够淘汰很多客户端代码来支持脱机模式。

祝你好运!