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
- フォーク
- 533
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 322
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
supabase/cli のほかの issue
-
🐛 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再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン✨ 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 が 9 日前に担当しました。 オープン🐛 Bug supabase/cli
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
📘 Docs supabase/cli
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
supabase/cli#6974 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
🐛 Bug supabase/cli
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
./collections should export setUmbracoVersion and setAllowFilePathUploads for in-process consumersオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
umbraco/Umbraco-CMS-MCP-Dev#563 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
afk-ok area:data-quality importer size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
enorm-labs/event-junkie#3166 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
alunduil/projects-v2-sync#21 ·