Files

18 lines
1013 B
SQL
Raw Permalink Normal View History

2026-10-21 05:08:05 +02:00
-- Очистка dev-базы: удаляет все таблицы и перечисления схемы public.
-- Нужна, когда push схемы в dev требует ответа на вопросы (переименования, удаления):
-- без терминала его некому дать. Потом — перезапуск dev-сервера и `pnpm seed`.
SET client_min_messages = warning;
DO $$
DECLARE r record;
BEGIN
IF current_database() <> 'veilix_dev' THEN
RAISE EXCEPTION 'reset-dev-db: only for veilix_dev, connected to %', current_database();
END IF;
FOR r IN SELECT tablename FROM pg_tables WHERE schemaname = 'public' LOOP
EXECUTE format('DROP TABLE IF EXISTS public.%I CASCADE', r.tablename);
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 $$;