fix(vorlagen): DELETE-Reihenfolge - flush zwischen Positionen und Vorlage
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
@@ -102,4 +102,9 @@ async def loesche_vorlage(
|
|||||||
positionen = await db.execute(select(Vorlagenposition).where(Vorlagenposition.vorlage_id == vorlage_id))
|
positionen = await db.execute(select(Vorlagenposition).where(Vorlagenposition.vorlage_id == vorlage_id))
|
||||||
for position in positionen.scalars().all():
|
for position in positionen.scalars().all():
|
||||||
await db.delete(position)
|
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)
|
await db.delete(vorlage)
|
||||||
|
|||||||
Reference in New Issue
Block a user