2013-03-21 77 views

回答

9

我们所有的数据都可以通过REST API获得,因此您可以轻松编写脚本来自己完成此操作。你可以通过设置格式=导出数据(包括在响应所有优先级的数据):

curl https://myapp.firebaseIO.com/.json?format=export&auth=YOUR_FIREBASE_SECRET 

至于出口的安全规则,你可以在这里操作:

curl https://myapp.firebaseIO.com/.settings/rules/.json?auth=YOUR_FIREBASE_SECRET 

然后,您可以使用PUT将它们写回新的Firebase。

各种认证设置不能自动转移(如授权来源),但它们可能不应该是因为它们在分段和生产之间不同。

+1

你怎么做卷曲-X把文件名文件目标?语法是什么? – ingrid 2016-06-10 16:09:00

+0

这里是关于@安德鲁的回答文档https://firebase.google.com/docs/database/rest/app-management – epool 2016-09-28 15:14:28

2

安德鲁上面说的大部分都是正确的,然而这可能是一个大火灾的痛苦。 有一个进口项目https://github.com/firebase/firebase-import,这将有助于通过分解放入请求来进口大型火炉。 另外需要注意的是,你需要在curl url周围使用引号,否则&将会背景进程。那么,什么安德鲁上面给了反而会上班

卷曲-o outputfile.json“https://myapp.firebaseIO.com/.json?format=export&auth=YOUR_FIREBASE_SECRET

然后你可以使用导入模块我与JSON文件链接。

祝你好运!

+0

去试试这个 - 谢谢! – dazza5000 2016-03-23 13:50:48

0

Firebase正在开发一项新服务“S3客户备份”,该服务将每晚将您整个Firebase的.gz压缩备份复制到您提供给他们的s3存储桶中。我现在正在评估此服务的测试版,但如果这是您需要的,我建议您提供支持。

我们的firebase太大而无法完成卷曲操作,而这个新的解决方案将使我们能够管理我们的开发环境。因此,如果您拥有大型Firebase,请设置S3 Customer Backups,然后使用firebase-import将数据推送到dev/staging firebase。胜利!

0

我刚刚创建了this ruby gem,用于克隆现有项目的Firebase远程配置数据或新项目。

1

如果你想不需要卷曲的选项,并且您已经安装了firebase-tools项目,你可以运行这个命令:

firebase database:get --export -o backup.json/

注意,这应该从配置为火力地堡工作目录下运行项目。这个选项的优点是它将使用你为该项目设置的Auth,所以你不需要将认证密钥硬编码到命令行(对于安全意识),它不依赖于不推荐使用的授权密钥模式。

命令行夫:如果你想为每个顶级键独立文件的另一个很酷的技术叫:

for i in `firebase database:get --shallow/| jq -r 'keys[]'`; do 
    echo "Downloading $i..." 
    firebase database:get --export -o $i.json /$i 
done 

您需要的“JQ”工具安装这个工作。如果您稍后想要恢复或处理部分数据,分别导出每个集合可能会非常有用。

相关问题