From ebd6a9589eee440ac4aba0bf345cbe7c37eda652 Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 5 Sep 2026 00:15:16 +0200 Subject: [PATCH] fix(vorlagen): DELETE-Reihenfolge - flush zwischen Positionen und Vorlage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beladungsvorlage/Vorlagenposition haben keine ORM-relationship() (nur rohe FK-Spalten), SQLAlchemy kannte die Lösch-Reihenfolge nicht und schlug beim echten Löschversuch mit FK-Verletzung fehl. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV --- backend/app/api/v1/endpoints/vorlagen.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/app/api/v1/endpoints/vorlagen.py b/backend/app/api/v1/endpoints/vorlagen.py index 653f938..71d720c 100644 --- a/backend/app/api/v1/endpoints/vorlagen.py +++ b/backend/app/api/v1/endpoints/vorlagen.py @@ -102,4 +102,9 @@ async def loesche_vorlage( positionen = await db.execute(select(Vorlagenposition).where(Vorlagenposition.vorlage_id == vorlage_id)) for position in positionen.scalars().all(): await db.delete(position) + # Flush zwischen den Deletes nötig: Beladungsvorlage/Vorlagenposition haben + # keine ORM-relationship() (nur rohe FK-Spalten), SQLAlchemy kennt die + # Abhängigkeit also nicht automatisch und könnte beide DELETEs in falscher + # Reihenfolge absetzen (FK-Verletzung, beim echten Löschversuch gefunden). + await db.flush() await db.delete(vorlage)