use*_*336 2 sqlite sqlalchemy alembic
在合适的sqlite版本中,我们可以通过'PRAGMA foreign_keys = ON'强制执行外键约束.但是,每次进行连接时,用户都无法登录数据库.所以我想知道如何让它在sqlalchemy/alembic的迁移脚本中运行?非常感谢!
请参阅SA SQLite文档中的外键支持:
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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2062 次 |
| 最近记录: |