diff --git a/main.py b/main.py index 8e687ee..24f98a0 100644 --- a/main.py +++ b/main.py @@ -13,9 +13,29 @@ import off from db import Base, engine, get_db from models import Food, Recipe -Base.metadata.create_all(bind=engine) + +def init_db(retries: int = 10): + """Crea las tablas, reintentando por si la BD tarda en levantar. No tumba + el arranque si falla: /health seguirá respondiendo.""" + import time + for _ in range(retries): + try: + Base.metadata.create_all(bind=engine) + return True + except Exception: + time.sleep(2) + return False + + +# En import: un intento best-effort (crea tablas ya para tests/SQLite). +init_db(retries=1) app = FastAPI(title="autoayuno-api") + + +@app.on_event("startup") +def _startup(): + init_db() app.add_middleware( CORSMiddleware, allow_origins=["*"],