From 1d180acf1568c4a3573159a371331827e7abdcde Mon Sep 17 00:00:00 2001 From: billisdead Date: Tue, 23 Jun 2026 15:57:52 +0200 Subject: [PATCH] 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 --- artifacts/flask-api/app.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/artifacts/flask-api/app.py b/artifacts/flask-api/app.py index 4279d20..25d13b7 100644 --- a/artifacts/flask-api/app.py +++ b/artifacts/flask-api/app.py @@ -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",