fix: enable sqlite WAL

This commit is contained in:
Felix Spöttel
2023-02-28 20:20:51 +01:00
parent 4f020853b6
commit 4eed77bfa7
2 changed files with 12 additions and 3 deletions

2
.gitignore vendored
View File

@@ -163,4 +163,4 @@ cython_debug/
.vscode
.DS_Store
whisperbox.sqlite
whisperbox.sqlite*

View File

@@ -1,12 +1,21 @@
from typing import Generator
from typing import Any, Generator
from sqlalchemy import create_engine
from sqlalchemy.engine import Connection
from sqlalchemy import create_engine, event
from sqlalchemy.orm import Session, sessionmaker
from app.shared.settings import settings
engine = create_engine(settings.DATABASE_URI, connect_args={"check_same_thread": False})
@event.listens_for(engine, "connect")
def set_sqlite_pragma(conn: Connection, _: Any) -> None:
cursor = conn.cursor()
cursor.execute("PRAGMA journal_mode=WAL")
cursor.close()
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)