Coverage for app/database.py: 66.67%
12 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-07-25 15:51 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-07-25 15:51 +0000
1from sqlalchemy import create_engine
2from sqlalchemy.ext.declarative import declarative_base
3from sqlalchemy.orm import sessionmaker
5from app.config import settings
7# ----------------------------------------------------------------
8# DATABASE ENGINE
9# ----------------------------------------------------------------
10engine = create_engine(
11 settings.DATABASE_URL,
12 pool_pre_ping=True, # Verify connections before using
13 pool_size=5,
14 max_overflow=10
15)
17SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
19Base = declarative_base()
21# ----------------------------------------------------------------
22# DEPENDENCY
23# ----------------------------------------------------------------
24def get_db():
25 """Database session dependency"""
26 db = SessionLocal()
27 try:
28 yield db
29 finally:
30 db.close()