diff --git a/app/database/db.py b/app/database/db.py index 1de8b80ed..2a79f7df0 100644 --- a/app/database/db.py +++ b/app/database/db.py @@ -14,7 +14,7 @@ try: from alembic.config import Config from alembic.runtime.migration import MigrationContext from alembic.script import ScriptDirectory - from sqlalchemy import create_engine + from sqlalchemy import create_engine, event from sqlalchemy.orm import sessionmaker _DB_AVAILABLE = True @@ -75,6 +75,13 @@ def init_db(): # Check if we need to upgrade engine = create_engine(db_url) + + # Enable foreign key enforcement for SQLite + @event.listens_for(engine, "connect") + def set_sqlite_pragma(dbapi_connection, connection_record): + cursor = dbapi_connection.cursor() + cursor.execute("PRAGMA foreign_keys=ON") + cursor.close() conn = engine.connect() context = MigrationContext.configure(conn)