readd database setup

This commit is contained in:
kittentm 2026-02-11 03:45:44 +01:00
commit ba581c4ec5
2 changed files with 17 additions and 5 deletions

View file

@ -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)
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()

View file

@ -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)
uvicorn.run("main:app", host="0.0.0.0", port=settings.port, reload=True)
init_db()