Files
xiaoxia-saas/apps/api/app/db.py
T
2026-06-15 19:41:57 +08:00

26 lines
711 B
Python

from collections.abc import Generator
from sqlalchemy.orm import Session
from app.core.database import get_database_settings
from packages.adapters.sqlalchemy_impl import build_session_factory, ensure_database_exists, initialize_database
settings = get_database_settings()
ensure_database_exists(settings.database_url)
engine, SessionLocal = build_session_factory(
settings.database_url,
pool_size=settings.pool_size,
max_overflow=settings.max_overflow,
pool_timeout=settings.pool_timeout,
pool_recycle=settings.pool_recycle,
)
initialize_database(engine)
def get_db() -> Generator[Session, None, None]:
db = SessionLocal()
try:
yield db
finally:
db.close()