Fix: Database-locked-Fehler beim Löschen von Lagen behoben
- PRAGMA busy_timeout=5000 in get_db() hinzugefügt (SQLite wartet bis zu 5s auf Lock-Freigabe) - Try/except im Delete-Endpoint: gibt HTTP 409 statt 500 bei Lock-Konflikt Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -218,8 +218,16 @@ async def delete_incident(
|
||||
detail="Nur der Ersteller kann diese Lage loeschen",
|
||||
)
|
||||
|
||||
await db.execute("DELETE FROM incidents WHERE id = ?", (incident_id,))
|
||||
await db.commit()
|
||||
try:
|
||||
await db.execute("DELETE FROM incidents WHERE id = ?", (incident_id,))
|
||||
await db.commit()
|
||||
except Exception as e:
|
||||
if "database is locked" in str(e):
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_409_CONFLICT,
|
||||
detail="Datenbank ist momentan beschaeftigt. Bitte in wenigen Sekunden erneut versuchen.",
|
||||
)
|
||||
raise
|
||||
|
||||
|
||||
@router.get("/{incident_id}/articles")
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren