60 lines
2.6 KiB
SQL
60 lines
2.6 KiB
SQL
-- ============================================================================
|
|
-- Krow — initial schema, reversed.
|
|
--
|
|
-- Drops exactly what 000001_initial_schema.up.sql created, in reverse
|
|
-- dependency order, and nothing else. Every DROP is qualified to `public` and
|
|
-- named explicitly — there is no CASCADE on a schema, no DROP SCHEMA, and no
|
|
-- DROP DATABASE anywhere in this file.
|
|
-- ============================================================================
|
|
|
|
SET search_path = public;
|
|
|
|
-- Tables, children before parents. Indexes and table-level constraints are
|
|
-- dropped implicitly with their table.
|
|
DROP TABLE IF EXISTS public.user_activity;
|
|
DROP TABLE IF EXISTS public.evidence;
|
|
DROP TABLE IF EXISTS public.shift_records;
|
|
DROP TABLE IF EXISTS public.assignments;
|
|
DROP TABLE IF EXISTS public.staff;
|
|
DROP TABLE IF EXISTS public.ai_interviews;
|
|
DROP TABLE IF EXISTS public.job_applications;
|
|
DROP TABLE IF EXISTS public.worker_profiles;
|
|
DROP TABLE IF EXISTS public.job_postings;
|
|
DROP TABLE IF EXISTS public.learning_paths;
|
|
DROP TABLE IF EXISTS public.courses;
|
|
DROP TABLE IF EXISTS public.badges;
|
|
DROP TABLE IF EXISTS public.certifications;
|
|
DROP TABLE IF EXISTS public.role_categories;
|
|
DROP TABLE IF EXISTS public.user_preferences;
|
|
DROP TABLE IF EXISTS public.users;
|
|
DROP TABLE IF EXISTS public.organizations;
|
|
|
|
-- Enums, after every table that referenced them is gone.
|
|
DROP TYPE IF EXISTS public.badge_verification;
|
|
DROP TYPE IF EXISTS public.badge_level;
|
|
DROP TYPE IF EXISTS public.evidence_verdict;
|
|
DROP TYPE IF EXISTS public.challenge_type;
|
|
DROP TYPE IF EXISTS public.skill_level;
|
|
DROP TYPE IF EXISTS public.course_status;
|
|
DROP TYPE IF EXISTS public.shift_status;
|
|
DROP TYPE IF EXISTS public.assignment_status;
|
|
DROP TYPE IF EXISTS public.profile_tier;
|
|
DROP TYPE IF EXISTS public.staff_status;
|
|
DROP TYPE IF EXISTS public.interview_verdict;
|
|
DROP TYPE IF EXISTS public.application_status;
|
|
DROP TYPE IF EXISTS public.english_level;
|
|
DROP TYPE IF EXISTS public.posting_priority;
|
|
DROP TYPE IF EXISTS public.posting_status;
|
|
|
|
-- The citext extension is deliberately NOT dropped.
|
|
--
|
|
-- CREATE EXTENSION IF NOT EXISTS is a no-op when the extension already exists,
|
|
-- so the up migration cannot tell whether it created citext or inherited it.
|
|
-- Dropping it on the way down would therefore risk removing an object this
|
|
-- migration never owned, and would break any other schema that has since
|
|
-- adopted the type. Leaving it is harmless: it holds no data, and re-applying
|
|
-- the up migration is unaffected.
|
|
--
|
|
-- To remove it by hand on a database where nothing else uses it:
|
|
-- DROP EXTENSION IF EXISTS citext;
|