diff --git a/backend/migrations/versions/0029_special_assignments.py b/backend/migrations/versions/0029_special_assignments.py index fe7dd12..ec06e96 100644 --- a/backend/migrations/versions/0029_special_assignments.py +++ b/backend/migrations/versions/0029_special_assignments.py @@ -23,8 +23,15 @@ depends_on = None def upgrade() -> None: op.execute("CREATE EXTENSION IF NOT EXISTS btree_gist") - # Enum erzeugen (IF NOT EXISTS: falls create_all in lifespan den Typ schon angelegt hat) - op.execute("CREATE TYPE IF NOT EXISTS assignment_mode AS ENUM ('fza', 'payroll', 'both')") + # Enum erzeugen (nur falls nicht vorhanden – CREATE TYPE IF NOT EXISTS nicht überall unterstützt) + op.execute(""" + DO $$ + BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'assignment_mode') THEN + CREATE TYPE assignment_mode AS ENUM ('fza', 'payroll', 'both'); + END IF; + END $$ + """) # Tabelle nur anlegen falls noch nicht vorhanden (idempotent) op.execute("""