From 7abbfe3333674099f154497b6a8a4c7de4e4bdf3 Mon Sep 17 00:00:00 2001 From: dumko2001 Date: Sun, 8 Mar 2026 14:54:31 +0530 Subject: [PATCH] fix(branching): properly format pgmq dump output and restore schema on db reset --- pkg/migration/drop.go | 1 - pkg/migration/queries/drop.sql | 2 +- pkg/migration/scripts/dump_schema.sh | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/migration/drop.go b/pkg/migration/drop.go index aa44407ca1..e7cd6af4c9 100644 --- a/pkg/migration/drop.go +++ b/pkg/migration/drop.go @@ -23,7 +23,6 @@ var ( `\_realtime`, `\_supavisor`, "pgbouncer", - "pgmq", "pgsodium", "pgtle", `supabase\_migrations`, diff --git a/pkg/migration/queries/drop.sql b/pkg/migration/queries/drop.sql index bbcf56edc7..8067254396 100644 --- a/pkg/migration/queries/drop.sql +++ b/pkg/migration/queries/drop.sql @@ -7,7 +7,7 @@ begin from pg_namespace pn left join pg_depend pd on pd.objid = pn.oid where pd.deptype is null - and not pn.nspname like any(array['information\_schema', 'pg\_%', '\_analytics', '\_realtime', '\_supavisor', 'pgbouncer', 'pgmq', 'pgsodium', 'pgtle', 'supabase\_migrations', 'vault', 'extensions', 'public']) + and not pn.nspname like any(array['information\_schema', 'pg\_%', '\_analytics', '\_realtime', '\_supavisor', 'pgbouncer', 'pgsodium', 'pgtle', 'supabase\_migrations', 'vault', 'extensions', 'public']) and pn.nspowner::regrole::text != 'supabase_admin' loop -- If an extension uses a schema it doesn't create, dropping the schema will cascade to also diff --git a/pkg/migration/scripts/dump_schema.sh b/pkg/migration/scripts/dump_schema.sh index c136cc086e..c68c046560 100755 --- a/pkg/migration/scripts/dump_schema.sh +++ b/pkg/migration/scripts/dump_schema.sh @@ -49,7 +49,7 @@ pg_dump \ | sed -E "s/^REVOKE (.+) ON (.+) \"(${EXCLUDED_SCHEMAS:-})\"/-- &/" \ | sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pg_tle").+/\1;/' \ | sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgsodium").+/\1;/' \ -| sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgmq").+/\1;/' \ +| sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgmq").+/CREATE SCHEMA IF NOT EXISTS "pgmq"; \1 WITH SCHEMA "pgmq";/' \ | sed -E 's/^COMMENT ON EXTENSION (.+)/-- &/' \ | sed -E 's/^CREATE POLICY "cron_job_/-- &/' \ | sed -E 's/^ALTER TABLE "cron"/-- &/' \