todo_chatbot / src /db /session.py
Awais68
Deploy FastAPI backend with MCP and OpenAI agents
cccf200
Raw
History Blame Contribute Delete
717 Bytes
"""
Database session management for PostgreSQL connection.
"""
from typing import Generator
from sqlmodel import create_engine, Session
from src.core.config import settings
# Create database engine
engine = create_engine(
settings.DATABASE_URL,
echo=settings.DEBUG,
pool_pre_ping=True,
pool_size=10,
max_overflow=20,
pool_recycle=3600, # Recycle connections after 1 hour
connect_args={
"connect_timeout": 10,
"options": "-c timezone=utc"
}
)
def get_session() -> Generator[Session, None, None]:
"""
Dependency to get database session.
Yields:
Session: SQLModel database session
"""
with Session(engine) as session:
yield session