Team Ai
Apppublic

programmingwithabdullah/todo-aipowered

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
database.py33 linesDownload Raw Back to root
1from sqlmodel import create_engine, Session2from typing import Generator3from settings import settings4from contextlib import contextmanager5 6# Create the database engine7engine = create_engine(8    settings.database_url,9    echo=settings.db_echo,  # Set to True for SQL query logging10    pool_pre_ping=True,  # Verify connections before use11    pool_recycle=300,  # Recycle connections after 5 minutes12)13 14 15def get_session() -> Generator[Session, None, None]:16    """Get a database session for dependency injection."""17    with Session(engine) as session:18        yield session19 20 21@contextmanager22def get_session_context():23    """Get a database session as a context manager."""24    with Session(engine) as session:25        try:26            yield session27            session.commit()28        except Exception:29            session.rollback()30            raise31        finally:32            session.close()33