gpt4 book ai didi

firebase - 实时数据库模拟器忽略 database.rules.json

转载 作者:行者123 更新时间:2023-12-04 17:27:15 24 4
gpt4 key购买 nike

我有一个使用实时数据库的 Firebase 项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase-cli 似乎正在处理我的 database.rules.json文件。即使在创建测试项目来解决此特定问题之后,也会发生这种情况。

让我给你一些关于我的设置的信息。

我创建了一个没有启用任何功能的 Firebase 项目。我在本地机器上创建了一个空目录并运行 firebase init database .这样做创建了几个文件:
.firebaserc

{
"projects": {
"default": "emulators-test-244be"
}
}
firebase.json
{
"database": {
"rules": "database.rules.json"
}
}
database.rules.json (我修改了这里的规则来锁定数据库)
{
"rules": {
".read": false,
".write": false
}
}

当我使用 firebase emulators:start --only database 运行模拟器时,控制台告诉我数据库初始化成功。但是,当我访问 http://localhost:9000/.inspect/coverage?ns=emulators-test-244be 时要查看当前加载的安全规则,它会提供以下输出:
{
"rules": {
".read": true,
".write": true
}
}

显然,这直接违背了我在 database.rules.json中设置的规则。文件。

我注意到的一件事是,如果我修改 database.rules.json当模拟器运行时,我从控制台得到以下输出:
i database: Change detected, updating rules for undefined...
显然,这样做会导致模拟器创建一个名为 undefined 的新数据库。 .当我去 http://localhost:9000/.inspect/coverage?ns=undefined ,输出正确反射(reflect)了我在 database.rules.json 中设置的内容文件。

为什么会这样?我是否错误地设置了本地 Firebase 项目?或者 Firebase CLI 中是否存在错误?我已经搜索过 Firebase 文档、Stack Overflow 和 Google。我什么也没找到。

我有 firebase 工具版本 8.4.3 .

更新

firebase-tools 上搜索问题后GitHub repo,这似乎是一个错误。

链接在这里:
https://github.com/firebase/firebase-tools/issues/2371

最佳答案

这个解决方法对我有用:.firebaserc

{
"projects": {
"default": "emulators-test-244be"
},
"targets": {
"emulators-test-244be": {
"database": {
"default": [
"emulators-test-244be"
]
}
}
}
}
firebase.json
{
"database": [
{
"target": "default",
"rules": "database.rules.json"
}
],
"emulators": {
"database": {
"port": 9000
},
"ui": {
"enabled": true,
"port": 4000
}
}
}
当我用 firebase emulators:start 启动模拟器时并访问: http://localhost:9000/.inspect/coverage?ns=emulators-test-244be我得到了在我的 database.rules.json 中指定的规则文件。
希望它也适用于有此问题的其他人。

关于firebase - 实时数据库模拟器忽略 database.rules.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62473977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com