from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base import os # Persistent path for Docker/Hugging Face Spaces (Matches Bucket Mount) DATA_DIR = "/data" DB_PATH = os.path.join(DATA_DIR, "loan_db.db") # Fallback to local root if not in Docker environment if not os.path.exists(DATA_DIR): DB_PATH = "./loan_db_v3.db" SQLALCHEMY_DATABASE_URL = f"sqlite:///{DB_PATH}" engine = create_engine( SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() # Dependency def get_db(): db = SessionLocal() try: yield db finally: db.close()