Files
ki 7a105d8e45
CI / test (push) Has been cancelled
fix(db): lock init_db() to prevent "table already exists" race
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.
2026-07-22 00:52:54 +02:00

51 lines
743 B
Plaintext

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
venv/
.venv/
env/
.pytest_cache/
.mypy_cache/
.ruff_cache/
# IDE
.vscode/
.idea/
*.swp
*.swo
.DS_Store
# App data (lokal generiert)
data/*.db
data/*.db-journal
data/*.db-wal
data/*.db-shm
data/backups/
data/exports/
# Logs
*.log
logs/
# Secrets / Env
.env
.env.local
*.pem
# Tooling (lokal)
.mcp.json
# 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
# als Tar hier abgelegt. dist/README.md wird trotzdem committed, damit
# der Ordner im Repo auftaucht und die Policy dokumentiert ist.
dist/*.tar
dist/manifest.json