- Next 16.4 и Payload 3.91 в одном приложении, PostgreSQL с UUID, TypeScript 6, ESLint 9, Prettier, Vitest - Payload: администраторы с ролями, multi-tenant по сайтам, локализация en/ru/de/fr/es, интерфейс админки ru/en, языки сайта (sites.locales) - Коллекции sites, domains, currencies, countries, locations, tags, tariffs, payment-systems (manual), media и начальные данные (pnpm seed) - Proxy: хост → домен, язык и валюта, внутренние маршруты по хосту; /admin и /api закрыты на доменах брендов - Токены и темы брендов, оболочки сайта и кабинета, переключатели языка, валюты и темы, заглушки страниц - /svc/health, юнит systemd veilix-dev.service - Документация: решения D-022…D-024, команды в CLAUDE.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
19 lines
1013 B
SQL
19 lines
1013 B
SQL
-- Очистка 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 $$;
|