config diff reports api.enabled = true after config push disables the Data API (pg_pgrst_no_exposed_schemas)
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.4k
- Fork
- 533
- Merge trung bình
- 1 ngày 5 giờ
- Pull request đã merge (30 ngày)
- 338
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của supabase/cli
-
🐛 Bug supabase/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructiveCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở✨ Feature supabase/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
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 requestCó thể đã có người làm @7ttp đã nhận 10 ngày trước. Đang mở🐛 Bug supabase/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
supabase/cli#6975 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
📘 Docs supabase/cli
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
supabase/cli#6974 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Migration error caret is missing or misplaced when the statement contains multibyte charactersĐang mở🐛 Bug supabase/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
ui(ListToolbar): search takes the full row on a phone instead of sharing it with the result countĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
Maintainer thường phản hồi trong vòng 1 ngày
-
priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
immich-app/immich#32426 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue hacktoberfest help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
libredb/libredb-studio#1756 ·
Maintainer thường phản hồi trong vòng 1 ngày