Spaces:
Running
Running
| """ | |
| SQLAlchemy session configuration | |
| """ | |
| from sqlalchemy import create_engine | |
| from sqlalchemy.orm import sessionmaker, Session | |
| from typing import Generator | |
| from app.core.settings import settings | |
| # Create engine | |
| engine = create_engine( | |
| settings.DATABASE_URL, | |
| echo=settings.DB_ECHO, | |
| pool_pre_ping=True, | |
| pool_size=10, | |
| max_overflow=20 | |
| ) | |
| # Create session factory | |
| SessionLocal = sessionmaker( | |
| autocommit=False, | |
| autoflush=False, | |
| bind=engine | |
| ) | |
| def get_db() -> Generator[Session, None, None]: | |
| """Dependency pour obtenir une session DB""" | |
| db = SessionLocal() | |
| try: | |
| yield db | |
| finally: | |
| db.close() | |