From 767ff9fb9d126c3b65836389ea49b11b41d7f9bf Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 25 May 2026 00:58:00 +0200 Subject: [PATCH] fix: migration 0029 enum DO-Block statt CREATE TYPE IF NOT EXISTS Co-Authored-By: Claude Sonnet 4.6 --- .../migrations/versions/0029_special_assignments.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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("""