Fix init_db not called under Gunicorn

init_db() was only called inside if __name__ == "__main__", which Gunicorn
never executes. Tables were never created, causing every request to fail.
Move the call to module level so it runs on import, before the autoclose
thread starts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 15:57:52 +02:00
parent a43e9717a8
commit 1d180acf15
+6 -2
View File
@@ -93,6 +93,12 @@ limiter = Limiter(
strategy="fixed-window",
)
# ─── Initialisation de la base de données ────────────────────────────────────
# Appelé au niveau module pour que Gunicorn initialise la BDD à l'import,
# pas seulement quand le fichier est exécuté directement.
init_db()
# ─── Boucle de fermeture automatique des consultations ───────────────────────
def _autoclose_consultations_loop() -> None:
@@ -1100,8 +1106,6 @@ def _update_synthesis_background(consultation_id: int | None = None) -> None:
if __name__ == "__main__":
port = int(os.environ.get("PORT", 8080))
logger.info("Initialisation de la base de données...")
init_db()
logger.info(
"La Voix du Peuple — Flask démarre sur le port %d (storage: %s)",
port, "Redis" if _redis_url else "mémoire",