Files
app-service/backend/app/db/session.py
2025-12-05 09:53:16 +01:00

27 lines
642 B
Python

"""Database session management."""
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from app.config import settings
# SQLite specific connection arguments
connect_args = {}
if settings.DATABASE_URL.startswith("sqlite"):
connect_args = {"check_same_thread": False}
# Create database engine
engine = create_engine(
settings.DATABASE_URL,
connect_args=connect_args,
pool_pre_ping=True, # Verify connections before using
echo=settings.DEBUG, # Log SQL queries in debug mode
)
# Create session factory
SessionLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)