surendra kumar
deploy
47b4127
Raw
History Blame Contribute Delete
772 Bytes
from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base, sessionmaker
from .config import get_settings
settings = get_settings()
Base = declarative_base()
connect_args = {"check_same_thread": False} if settings.is_sqlite else {}
engine = create_engine(settings.database_url, future=True, connect_args=connect_args)
SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False, expire_on_commit=False)
def init_db() -> None:
if settings.sqlite_directory is not None:
settings.sqlite_directory.mkdir(parents=True, exist_ok=True)
from . import models
Base.metadata.create_all(bind=engine)
def get_session():
session = SessionLocal()
try:
yield session
finally:
session.close()