Sat*_*ima 1 firebase google-cloud-firestore firebase-security-rules
我有一个Firebase项目,该项目使用Firestore。我经常在Firebase控制台上手动修改安全规则和索引,但是我的开发机上也有本地副本(Firestore.rules和Firestore.indexes.json),当我这样做时,它们会变得不同步。
我想知道什么是同步它们的最佳实践。到目前为止,我将这些更改手动应用于本地副本,但这显然是一个容易出错的过程。
我不想通过部署过时的规则来意外覆盖这些设置。
我将不胜感激任何建议。
在Firebase控制台中声明的“安全性”规则与使用CLI进行部署时在本地声明的规则之间没有自动机制来处理冲突。
如果您的本地项目设置为部署Firestore安全规则,则在使用CLI进行部署时,它们将覆盖控制台中的规则。(请参阅此文档项目:https : //firebase.google.com/docs/rules/manage-deploy#edit_and_update_your_rules)
有两种可能的方法:
"rules": "firestore.rules"从firebase.json文件中删除该行,然后firestore.rules从您的项目中删除该文件。请注意,“使用CLI可以使您的规则保持在应用程序代码的版本控制之下”。
使用索引,情况有些不同:如果两个版本(本地firestore.indexes.json文件和控制台中的索引)之间存在差异,则在通过CLI进行部署时,您会在终端收到警告:
i firestore: there are some indexes defined in your project that are not present in your firestore indexes file. Run firebase firestore:indexes and save the result to correct the discrepancy.
i firestore: there are some field overrides defined in your project that are not present in your firestore indexes file. Run firebase firestore:indexes and save the result to correct the discrepancy.
Run Code Online (Sandbox Code Playgroud)
通过运行firebase firestore:indexes,索引将被打印在终端中,您将能够复制它们以手动更新firestore.indexes.json文件。
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |