-- Migration 010: Simplify WartungslogArt from 7 types to 3 -- Maps existing data to new categories and updates the CHECK constraint. -- -- Old types: New type: -- Inspektion -> Service -- Reparatur -> Service -- Reifenwechsel -> Service -- Reinigung -> Service -- Hauptuntersuchung -> §57a Prüfung -- Kraftstoff -> Sonstiges -- Sonstiges -> Sonstiges (unchanged) -- Step 1: Drop the old CHECK constraint FIRST (must happen before data changes) ALTER TABLE fahrzeug_wartungslog DROP CONSTRAINT IF EXISTS fahrzeug_wartungslog_art_check; -- Step 2: Migrate existing data to new type values UPDATE fahrzeug_wartungslog SET art = 'Service' WHERE art IN ('Inspektion', 'Reparatur', 'Reifenwechsel', 'Reinigung'); UPDATE fahrzeug_wartungslog SET art = '§57a Prüfung' WHERE art = 'Hauptuntersuchung'; UPDATE fahrzeug_wartungslog SET art = 'Sonstiges' WHERE art = 'Kraftstoff'; -- Step 3: Add the new CHECK constraint with simplified types ALTER TABLE fahrzeug_wartungslog ADD CONSTRAINT fahrzeug_wartungslog_art_check CHECK (art IS NULL OR art IN ('§57a Prüfung', 'Service', 'Sonstiges'));