from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker import os DATABASE_URL = ( f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}" f"@{os.getenv('DB_HOST')}/{os.getenv('DB_NAME')}" ) engine = create_engine(DATABASE_URL) # Create all tables from app.models import Base Base.metadata.create_all(bind=engine) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) def get_db(): """Dependency for getting database session""" db = SessionLocal() try: yield db finally: db.close()