能否将Firebase数据库从一个账户迁移至另一账户?
Firebase数据库跨账户迁移方案
针对将Firebase数据库(含Realtime Database、Cloud Firestore、Cloud Storage)从源账户(sourceaccount@gmail.com)迁移至目标账户(destinationacccount@gmail.com)的需求,以下是可行的操作方案:
一、Cloud Firestore迁移
- 导出数据:在源账户的Firebase控制台,进入Firestore数据库,点击设置 > 导出数据,选择要导出的集合,将数据导出到Google Cloud Storage(GCS)的存储桶中。
- 共享存储桶权限:给目标账户的邮箱授予该GCS存储桶的读取权限,确保目标账户能访问导出的文件。
- 导入数据:在目标账户的Firebase控制台,进入Firestore数据库,点击设置 > 导入数据,选择源账户共享的GCS存储桶中的导出文件,完成导入。
二、Realtime Database迁移
- 轻量数据迁移:在源账户的Realtime Database控制台,点击导出JSON,将数据库内容导出为本地JSON文件;再到目标账户的Realtime Database控制台,点击导入JSON,选择导出的本地文件完成导入。
- 大数据量迁移:使用Firebase CLI命令行工具操作:
# 导出源数据库全量数据 firebase database:get / --project 源项目ID > database-backup.json # 切换登录目标账户后,导入数据 firebase database:set / database-backup.json --project 目标项目ID
三、Cloud Storage迁移
- 存储转移:通过Google Cloud控制台的存储转移服务,直接将源账户存储桶的内容转移到目标账户的存储桶中。
- 权限配置:提前给目标账户授予源存储桶的读取权限,同时给源账户授予目标存储桶的写入权限,转移完成后调整目标存储桶的权限至业务需求。
注意事项
- 迁移前务必完成数据备份,避免操作失误导致数据丢失。
- 使用Firebase CLI时,可通过
firebase login:add添加多个账户,再用firebase use切换项目。 - 迁移期间建议暂停源数据库的写入操作,防止出现数据不一致问题。
内容的提问来源于stack exchange,提问作者fazilSizzlers
相关产品推荐
相关产品推荐

