declarative schema ignores grants with columns on views
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- postgresql, sql, typescript
Direzione di ricerca
Look at the declarative schema sync logic in the CLI, likely in a file handling PostgreSQL grants and view parsing. The issue is that column-specific grants on views are not being output. Start by searching for 'GRANT' and 'VIEW' in the codebase, then examine how grants are collected and compared. The test case provided gives a clear reproduction; verify the missing grant statement is generated. Check the output of the sync command against the expected SQL.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Affected area
Database
Supabase CLI version
v2.117.0
Operating system
macOS
Installation method
brew
Command
supabase db schema declarative sync
Actual output
CREATE TABLE "private"."items" (
"id" integer NOT NULL,
"name" text NOT NULL,
"is_active" boolean NOT NULL DEFAULT true,
CONSTRAINT "items_pkey" PRIMARY KEY (id)
);
CREATE VIEW "api"."items" WITH (security_invoker=true) AS SELECT id,
name,
is_active
FROM private.items;
GRANT INSERT ("name") ON TABLE "private"."items" TO "authenticated";
GRANT DELETE, INSERT, MAINTAIN, REFERENCES, SELECT, TRIGGER, TRUNCATE, UPDATE ON TABLE "private"."items" TO "postgres", "service_role";
GRANT DELETE, INSERT, MAINTAIN, REFERENCES, SELECT, TRIGGER, TRUNCATE, UPDATE ON TABLE "api"."items" TO "postgres", "service_role";
Expected behavior
Output should include the missing grant statement as described in "steps to reproduce" section
GRANT INSERT ("name") ON TABLE "api"."items" TO "authenticated";
Steps to reproduce
- Create minimal declaration files:
supabase/database/private/schema.sql
CREATE SCHEMA "private";
GRANT CREATE, USAGE ON SCHEMA "private" TO "postgres";
GRANT USAGE ON SCHEMA "private" TO "service_role", "supabase_auth_admin";
supabase/database/api/schema.sql
CREATE SCHEMA "api";
GRANT USAGE ON SCHEMA "api" TO "authenticated";
GRANT CREATE, USAGE ON SCHEMA "api" TO "postgres";
GRANT USAGE ON SCHEMA "api" TO "service_role";
supabase/database/private/tables/items.sql
CREATE TABLE "private"."items"(
"id" integer NOT NULL PRIMARY KEY,
"name" text NOT NULL,
"is_active" boolean NOT NULL DEFAULT TRUE
);
GRANT DELETE, INSERT, MAINTAIN, REFERENCES, SELECT, TRIGGER, TRUNCATE, UPDATE ON TABLE "private"."items" TO "postgres", "service_role";
GRANT INSERT ("name") ON TABLE "private"."items" TO "authenticated";
supabase/database/api/views/.sql
CREATE VIEW "api"."items" WITH ( security_invoker = TRUE
) AS
SELECT
id,
name,
is_active
FROM
private.items;
GRANT DELETE, INSERT, MAINTAIN, REFERENCES, SELECT, TRIGGER, TRUNCATE, UPDATE ON TABLE "api"."items" TO "postgres", "service_role";
GRANT INSERT ("name") ON TABLE "api"."items" TO "authenticated";
- Execute
supabase db schema declarative sync
Crash report ID
No response
Docker and service versions
Additional context
No response
- Lingua principale
- TypeScript
- Stelle
- 2.4k
- Fork
- 523
- Merge medio
- 1g 1h
- PR unite (30g)
- 268
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di supabase/cli
-
🐛 Bug supabase/cli
-
🐛 Bug supabase/cli
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
🐛 Bug supabase/cli
-
🐛 Bug supabase/cli
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
🐛 Bug supabase/cli
Tutte le issue di supabase/cli
Issue simili
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Crush Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/cln-application#167 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Quantco/pnpm-licenses#17 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100