import os from pathlib import Path from sqlalchemy import create_engine from sqlalchemy.orm import DeclarativeBase, sessionmaker DATA_DIR = Path(os.environ.get("DATA_DIR", "/data")) DATA_DIR.mkdir(parents=True, exist_ok=True) UPLOAD_DIR = DATA_DIR / "uploads" UPLOAD_DIR.mkdir(parents=True, exist_ok=True) DATABASE_URL = f"sqlite:///{DATA_DIR / 'recipes.db'}" engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False}) SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False) class Base(DeclarativeBase): pass def get_db(): db = SessionLocal() try: yield db finally: db.close()