from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base import os # En prod (homelab) : DATABASE_URL pointe sur postgres-shared (injecté par l'env / Vault). # En dev local : repli sur un SQLite à la racine du backend. DB_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "regwatch.db") DATABASE_URL = os.getenv("DATABASE_URL", f"sqlite:///{DB_PATH}") # check_same_thread n'a de sens que pour SQLite. connect_args = {"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {} engine = create_engine( DATABASE_URL, connect_args=connect_args, pool_pre_ping=True, ) SessionLocal = sessionmaker( autocommit=False, autoflush=False, bind=engine ) Base = declarative_base()