Files
paliad/internal/db/migrations/053_courts_and_countries.down.sql
m a9d3695719 feat(t-paliad-122): migration 053 — courts entity + countries lookup + regime split
Adds paliad.countries (13 ISO-3166 codes), paliad.courts (41 entries
seeded from internal/handlers/courts.go), and the country/regime split
on paliad.holidays. The 33 t-paliad-121 UPC vacation rows previously
stored as country='UPC' migrate cleanly to country=NULL + regime='UPC'
— 'UPC' is a supranational regime, not an ISO country, and the new
shape lets a UPC LD München (country='DE', regime='UPC') pull both DE
federal holidays and UPC vacation entries while a UPC LD Paris
(country='FR', regime='UPC') pulls FR + UPC. Holidays now FK-protected
against typo'd country codes.
2026-05-06 12:37:08 +02:00

25 lines
1006 B
SQL

-- t-paliad-122: rollback courts entity + per-country holidays.
DROP TABLE IF EXISTS paliad.courts;
ALTER TABLE paliad.holidays DROP CONSTRAINT IF EXISTS holidays_country_fk;
ALTER TABLE paliad.holidays DROP CONSTRAINT IF EXISTS holidays_country_or_regime_chk;
ALTER TABLE paliad.holidays DROP CONSTRAINT IF EXISTS holidays_regime_chk;
ALTER TABLE paliad.holidays DROP CONSTRAINT IF EXISTS holidays_date_name_country_regime_key;
DROP INDEX IF EXISTS paliad.holidays_regime_idx;
-- Restore the original UNIQUE.
ALTER TABLE paliad.holidays
ADD CONSTRAINT holidays_date_name_country_key UNIQUE (date, name, country);
-- Restore the country='UPC' rows so post-rollback state matches pre-053.
UPDATE paliad.holidays
SET country = 'UPC',
regime = NULL
WHERE regime = 'UPC';
ALTER TABLE paliad.holidays ALTER COLUMN country SET DEFAULT 'DE';
ALTER TABLE paliad.holidays ALTER COLUMN country SET NOT NULL;
ALTER TABLE paliad.holidays DROP COLUMN regime;
DROP TABLE IF EXISTS paliad.countries;