如何使用Firebase Tools批量更新多个RTDB实例的规则?
部署所有Firebase实时数据库实例规则的配置方法
1. 用.firebaserc关联所有实例
首先得在.firebaserc里把所有要部署的RTDB实例配上别名,方便后续配置引用。示例如下:
{ "projects": { "default": "你的主项目ID" }, "targets": { "你的主项目ID": { "database": { "生产库": ["prod-rtdb-xxx"], "测试库": ["staging-rtdb-xxx"], "开发库": ["dev-rtdb-xxx"] } } } }
这里的targets节点是把每个RTDB实例ID映射成好记的别名,后续在firebase.json里直接用别名就行。
2. 用firebase.json指定规则文件
接下来在firebase.json里给每个别名对应的实例指定规则文件路径。不同实例用不同规则就分别指定,用同一套规则就指向同一个文件。示例:
{ "database": [ { "target": "生产库", "rules": "database-prod.rules.json" }, { "target": "测试库", "rules": "database-staging.rules.json" }, { "target": "开发库", "rules": "database-dev.rules.json" } ] }
要是所有实例规则一致,把所有rules值改成同一个文件路径,比如"rules": "database.rules.json"即可。
3. 执行部署命令
配置完上面两个文件,直接跑下面的命令就能一次性部署所有实例的规则:
firebase deploy --only database
这个命令会自动读取firebase.json里的所有database配置,把对应规则部署到每个关联的RTDB实例上。
额外提醒
- 要确保每个规则文件都存在,而且JSON格式没问题,语法错误会导致部署失败。
- 首次部署某个实例的话,得先在Firebase控制台创建好这个实例,不然部署会报错找不到实例。
- 要是只想单独部署某一个实例的规则,比如只更生产库,就跑
firebase deploy --only database:生产库。
内容的提问来源于stack exchange,提问作者Tom3652
相关产品推荐
相关产品推荐

