config diff reports api.enabled = true after config push disables the Data API (pg_pgrst_no_exposed_schemas)
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
Describe the bug
After supabase config push turns the Data API off ([api] enabled = false), supabase config diff still reports api.enabled as true on the remote. config diff --exit-code therefore never exits 0 for a project with the Data API disabled, and every later config push re-sends the same db_schema update.
The push itself works: PATCH /v1/projects/{ref}/postgrest with db_schema: "" is accepted, and GET /v1/projects/{ref}/postgrest then returns "db_schema": "". The effective config (GET /v2/projects/{ref}/config), which config diff reads, returns "db_schema": "pg_pgrst_no_exposed_schemas". That value is the platform's "Data API disabled" marker, per the troubleshooting guide "schema pg_pgrst_no_exposed_schemas does not exist".
The api.enabled row in packages/config/src/project-config/registry.ts (v2.117.0, unchanged in v2.119.0) maps it as:
configPath: ["api", "enabled"],
apiPath: apiDbSchemaPath,
transform: (value) => expectString(value, apiDbSchemaPath).length > 0,
So the marker reads as "enabled".
To reproduce
config.tomlwith[api] enabled = false.supabase config push --project-ref <ref> --yes: reportsapi.enabled [update] local: false, remote: trueand updates the API service.supabase config diff --project-ref <ref> --exit-code: still listsapi.enabled(localfalse, remotetrue) and exits non-zero.- Steps 2 and 3 repeat identically on every run.
Expected behavior
db_schema == "pg_pgrst_no_exposed_schemas" (as well as "") maps to api.enabled = false, so the diff is clean after a successful disable, and push does not re-send it.
Versions
- Supabase CLI 2.117.0 (also checked the source of 2.119.0); hosted projects
Related, smaller
config push reports auth.sms.twilio.enabled as unencodable ("cannot turn the active provider off"). Hosted projects start with sms_provider: "twilio" even with phone sign-in off. PATCH /v1/projects/{ref}/config/auth {"sms_provider": null} returns 200 but the value stays "twilio", so a config with no SMS provider can never diff clean. Treating the provider as inactive while external_phone_enabled is false would resolve it.
- 主要语言
- TypeScript
- 星标
- 2.4k
- 派生
- 537
- 平均合并
- 21 小时 24 分钟
- 30 天内合并 PR
- 378
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
supabase/cli 的其他 Issue
-
config push: changing auth.oauth_server.authorization_url_path fails with 400 (enabled and path must be sent together)可能已有人在做 @itz-puneet 今天认领。 未关闭🐛 Bug supabase/cli
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructive可能重新可做 关联的 PR 已关闭且未合并。 未关闭✨ Feature supabase/cli
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
stack: the HTTP gateway closes idle keep-alive connections after 5 s, so a client whose event loop is blocked gets ECONNRESET (`fetch failed`) on its next request可能已有人在做 @7ttp 于 15 天前认领。 未关闭🐛 Bug supabase/cli
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
📘 Docs supabase/cli
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
🐛 Bug supabase/cli
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 65/100
521xueweihan/HelloGitHub#4025 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
voidzero-dev/void#478 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 69/100
Small-tailqwq/dsh-deep-whale#207 ·
维护者通常 1 天内回复
-
The inspector never shows the instances field, so scaling out is unreachable可能已有人在做 @Mrkewl 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
xevrion/breakscale#96 ·
维护者通常 4 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
Flux159/mcp-server-kubernetes#384 ·