# database.py | |
from sqlalchemy import create_engine | |
from sqlalchemy.ext.declarative import declarative_base | |
from sqlalchemy.orm import sessionmaker | |
SQLALCHEMY_DATABASE_URL = "postgresql://user:password@localhost/dbname" | |
engine = create_engine( | |
SQLALCHEMY_DATABASE_URL, | |
pool_size=5, | |
pool_pre_ping=True, | |
pool_recycle=300, | |
max_overflow=0 | |
) | |
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) | |
Base = declarative_base() | |
def get_db(): | |
db = SessionLocal() | |
try: | |
yield db | |
finally: | |
db.close() |