Files
dashboard/backend/src/database/migrations/083_allow_null_profile_status.sql

29 lines
1.1 KiB
SQL

-- Migration: 083_allow_null_profile_status
-- Allow mitglieder_profile.status to be NULL (for FDISK data purge).
-- Rollback:
-- ALTER TABLE mitglieder_profile DROP CONSTRAINT IF EXISTS mitglieder_profile_status_check;
-- ALTER TABLE mitglieder_profile ALTER COLUMN status SET NOT NULL;
-- ALTER TABLE mitglieder_profile ALTER COLUMN status SET DEFAULT 'aktiv';
-- ALTER TABLE mitglieder_profile ADD CONSTRAINT mitglieder_profile_status_check
-- CHECK (status IN ('aktiv','passiv','ehrenmitglied','jugendfeuerwehr','anwärter','ausgetreten'));
-- 1. Drop existing CHECK constraint
ALTER TABLE mitglieder_profile DROP CONSTRAINT IF EXISTS mitglieder_profile_status_check;
-- 2. Allow NULLs
ALTER TABLE mitglieder_profile ALTER COLUMN status DROP NOT NULL;
-- 3. Remove default
ALTER TABLE mitglieder_profile ALTER COLUMN status DROP DEFAULT;
-- 4. Re-add CHECK allowing NULL
ALTER TABLE mitglieder_profile ADD CONSTRAINT mitglieder_profile_status_check
CHECK (status IS NULL OR status IN (
'aktiv',
'passiv',
'ehrenmitglied',
'jugendfeuerwehr',
'anwärter',
'ausgetreten'
));