db.py 514 B

1234567891011121314151617181920
  1. import os
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.orm import declarative_base, sessionmaker
  4. DATABASE_URL = os.environ.get("DATABASE_URL") or "sqlite:///./dev.db"
  5. engine = create_engine(
  6. DATABASE_URL, connect_args={"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {}
  7. )
  8. SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False)
  9. Base = declarative_base()
  10. def get_session():
  11. db = SessionLocal()
  12. try:
  13. yield db
  14. finally:
  15. db.close()