Files
LetterFeed/backend/app/core/database.py
2025-07-15 22:54:35 +02:00

26 lines
700 B
Python

from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base, sessionmaker
from app.core.config import settings
from app.core.logging import get_logger
"""Database connection and session management."""
logger = get_logger(__name__)
engine = create_engine(settings.database_url, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()
def get_db():
"""Dependency that provides a database session."""
logger.debug("Creating new database session")
db = SessionLocal()
try:
yield db
finally:
logger.debug("Closing database session")
db.close()