-- Очистка 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 $$;