database.py (452B)
1 from sqlalchemy import create_engine 2 from sqlalchemy.orm import sessionmaker, DeclarativeBase 3 import os 4 5 DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:////var/lib/familytree/familytree.db") 6 engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False}) 7 SessionLocal = sessionmaker(bind=engine) 8 9 10 class Base(DeclarativeBase): 11 pass 12 13 14 def get_db(): 15 db = SessionLocal() 16 try: 17 yield db 18 finally: 19 db.close()