Files
warmbly/internal/infrastructure/db/migrations/000001_baseline.down.sql
T

22 lines
885 B
SQL

-- Rollback of the squashed baseline: drop every object it created, while
-- preserving golang-migrate's own schema_migrations bookkeeping table.
DO $$
DECLARE r RECORD;
BEGIN
FOR r IN SELECT tablename FROM pg_tables
WHERE schemaname = 'public' AND tablename <> 'schema_migrations' LOOP
EXECUTE format('DROP TABLE IF EXISTS public.%I CASCADE', r.tablename);
END LOOP;
FOR r IN SELECT sequence_name FROM information_schema.sequences
WHERE sequence_schema = 'public' LOOP
EXECUTE format('DROP SEQUENCE IF EXISTS public.%I CASCADE', r.sequence_name);
END LOOP;
FOR r IN SELECT t.typname FROM pg_type t
JOIN pg_namespace n ON n.oid = t.typnamespace
WHERE n.nspname = 'public' AND t.typtype = 'e' LOOP
EXECUTE format('DROP TYPE IF EXISTS public.%I CASCADE', r.typname);
END LOOP;
END $$;