| from sqlalchemy import create_engine |
| from sqlalchemy.ext.declarative import declarative_base |
| from sqlalchemy.orm import sessionmaker |
| from config import settings |
| from logging_config import get_logger |
|
|
| |
| 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 to get database session""" |
| logger.debug("Creating database session") |
| db = SessionLocal() |
| try: |
| yield db |
| finally: |
| logger.debug("Closing database session") |
| db.close() |