Migraties bij het starten met een bestandsslot: twee gunicorn-workers voegden tegelijk dezelfde kolom toe (duplicate column name)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Machiel
2026-10-16 19:44:04 +02:00
co-authored by Claude Opus 5.5
parent c69c3773dc
commit b66d6a6fe6
+9
View File
@@ -7,6 +7,7 @@ Demoleads: python app.py demo (standaardmodellen uit demo/modellen al
__version__ = '0.0.7' __version__ = '0.0.7'
import csv import csv
import fcntl
import hashlib import hashlib
import hmac import hmac
import io import io
@@ -236,6 +237,14 @@ def migrate_documents(con):
def init_db(): def init_db():
"""Schema en migraties; met een bestandsslot, want elke gunicorn-worker start dit bij het laden (anders voegen
twee workers dezelfde kolom toe of migreren ze dubbel)."""
with open(os.path.join(DATA, '.init.lock'), 'w') as lock:
fcntl.flock(lock, fcntl.LOCK_EX)
_init_db()
def _init_db():
con = sqlite3.connect(DB_PATH) con = sqlite3.connect(DB_PATH)
with open(os.path.join(BASE, 'schema.sql')) as f: with open(os.path.join(BASE, 'schema.sql')) as f:
con.executescript(f.read()) con.executescript(f.read())