29 lines
1.1 KiB
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'
|
|
));
|