In a suitable sqlite version, we can enforce foreign key constraint by \'PRAGMA foreign_keys = ON\'. However user can not log in a database every time when making a connecti
See Foreign Key Support from SA SQLite documentation:
import sqlite3
from sqlalchemy.engine import Engine
from sqlalchemy import event
@event.listens_for(Engine, "connect")
def set_sqlite_pragma(dbapi_connection, connection_record):
if type(dbapi_connection) is sqlite3.Connection: # play well with other DB backends
cursor = dbapi_connection.cursor()
cursor.execute("PRAGMA foreign_keys=ON")
cursor.close()