Files
whisperbox-transcribe/app/shared/db/base.py

22 lines
606 B
Python

from typing import Any
from sqlalchemy import Engine, create_engine, event
from sqlalchemy.orm import sessionmaker
def make_engine(database_url: str):
engine = create_engine(database_url, connect_args={"check_same_thread": False})
@event.listens_for(engine, "connect")
def set_sqlite_pragma(conn: Any, _: Any) -> None:
cursor = conn.cursor()
cursor.execute("PRAGMA journal_mode=WAL")
cursor.close()
return engine
def make_session_local(engine: Engine):
session_local = sessionmaker(autocommit=False, autoflush=False, bind=engine)
return session_local