from sqlalchemy import create_engine from sqlalchemy.orm import DeclarativeBase, sessionmaker import os DATABASE_URL = os.getenv( "DATABASE_URL", "postgresql+psycopg2://lms_user:lms_password@db:5432/lms_db", ) engine = create_engine(DATABASE_URL, pool_pre_ping=True) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) class Base(DeclarativeBase): pass def get_db(): db = SessionLocal() try: yield db finally: db.close()