__init__.py 503 B

1234567891011121314151617181920
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.orm import sessionmaker
  3. from . import queries, models
  4. SessionLocal = sessionmaker(autocommit=False, autoflush=False)
  5. def init_db(url: str, create_tables: bool = True, **engine_kwargs):
  6. engine = create_engine(url, **engine_kwargs)
  7. if create_tables:
  8. models.Base.metadata.create_all(bind=engine)
  9. SessionLocal.configure(bind=engine)
  10. def get_db():
  11. db = SessionLocal()
  12. try:
  13. yield db
  14. finally:
  15. db.close()