将Firebase Cloud Firestore中的单个集合从一个项目移动到另一个项目

unhi4e5o  于 2023-06-07  发布在  其他
关注(0)|答案(3)|浏览(416)

我有两个Firebase项目,一个用于dev,另一个用于production。首先测试dev中的集合,如果测试成功,则将其移动到production。如何在不使用Cloud Shell method的情况下在Firestore数据库之间移动集合?是否有其他数据库可以实现这一点?

w6mmgewl

w6mmgewl1#

如果您想在devproduction数据库之间移动集合,而不使用Cloud Shell,您可以遵循另一种方法。
为了实现这一目标,您需要遵循以下步骤。
1.创建一个Cloud Storage存储桶来保存源项目中的数据。
1.将数据从源项目导出到存储桶。
1.给予目标项目从存储桶中读取的权限。
1.将数据从存储桶导入到目标项目中。
通过这些步骤,您应该能够在项目之间迁移数据,并通过这种方式获得所需的开发数据库和生产数据库的结构,在其中可以轻松地传输数据。我建议您查看官方文档Move Data Between Projects,以获得有关如何实现上述步骤的整个教程,以防您对如何实现它们有疑问。
让我知道如果信息帮助你!

xt0899hw

xt0899hw2#

如果你有一个相对较小的数据库,你可以不使用cloudshell或cloudbucket。
Firebase SDK允许您同时创建多个应用,每个应用都有自己的配置信息。这意味着您可以编写一个程序,从一个数据库读取数据并将其写入另一个数据库。
在Python中,要将dev中的所有some-collection文档转移到prod中的destination-collection

dev_cred = ... # credentials for dev
default_app = initialize_app(dev_cred)
dev_db = firestore.client(default_app)

prod_cred = ... # credentials for prod
other_app = initialize_app(prod_cred )
prod_db = firestore.client(other_app, name="other-app")

collection_ref = dev_db.collection(u'some_collection')
destination_collection_ref = prod_db.collection(u'destination-collection')

# transfer documents
for doc in collection_ref.stream():
    destination_collection_ref.document(doc.id).set(doc.to_dict())

这也可以在其他编程语言中实现。上面的代码还可以扩展为传输子集合。

mbyulnm0

mbyulnm03#

可以使用cloud shell导出集合
Manage export ad import

相关问题