From ba581c4ec551f799376e1a52f4d6b82fac83bead Mon Sep 17 00:00:00 2001 From: KittenTM Date: Wed, 11 Feb 2026 03:45:44 +0100 Subject: [PATCH] readd database setup --- database.py | 18 ++++++++++++++---- main.py | 4 +++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/database.py b/database.py index 7c8e62e..9629bd6 100644 --- a/database.py +++ b/database.py @@ -1,6 +1,6 @@ from sqlalchemy import create_engine, Column, String, Integer, Boolean, DateTime, ForeignKey, Text -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker +from sqlalchemy.orm import declarative_base, sessionmaker +from sqlalchemy.exc import OperationalError from config import settings import uuid @@ -20,8 +20,18 @@ class Session(Base): expires_at = Column(DateTime, nullable=True) remember_me = Column(Boolean, default=False) -engine = create_engine(settings.db_url) +engine = create_engine(settings.db_url, pool_pre_ping=True) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) def init_db(): - Base.metadata.create_all(bind=engine) \ No newline at end of file + try: + Base.metadata.create_all(bind=engine) + print("database tables ensured") + except OperationalError as e: + print(f"database connection error: {str(e)}") + raise + except Exception as e: + print(f"database setup error: {str(e)}") + raise + +init_db() diff --git a/main.py b/main.py index a5c5088..c810f53 100644 --- a/main.py +++ b/main.py @@ -3,6 +3,7 @@ from routes import sso, user from config import settings import uvicorn from fastapi.middleware.cors import CORSMiddleware +from database import init_db app = FastAPI() @@ -28,4 +29,5 @@ app.include_router(sso.router, prefix="/api/v2/sso") app.include_router(user.router, prefix="/api/v1/users") if __name__ == '__main__': - uvicorn.run("main:app", host="0.0.0.0", port=settings.port, reload=True) \ No newline at end of file + uvicorn.run("main:app", host="0.0.0.0", port=settings.port, reload=True) + init_db() \ No newline at end of file