fix(db): lock init_db() to prevent "table already exists" race
CI / test (push) Has been cancelled

Beim Cold-Start eines Containers mit persistentem Volume (DB ist nicht
leer) liefen die gunicorn-Worker parallel in init_db() und beide
versuchten CREATE TABLE. Einer crashed mit 'table genres already exists',
der andere startete.

Symmetrisch zum seed-Lock: init_db() jetzt auch in FileLock gewrapped.
Zusaetzlich *.init.lock in .gitignore.

Verifiziert mit 2 Workern + bestehender DB: beide Container starten
sauber, kein Crash, 8 items erhalten.
This commit is contained in:
ki
2026-07-22 00:52:54 +02:00
parent 9a4909f083
commit 7a105d8e45
2 changed files with 16 additions and 2 deletions
+1
View File
@@ -40,6 +40,7 @@ logs/
# File-Lock-Artefakte (Race-Condition-Schutz)
*.seed.lock
*.init.lock
# dist/ ist ein lokales Build-Ausgabeverzeichnis. Docker-Images werden
# in die Gitea Container Registry gepusht (bin/build-and-push.sh), nicht