第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Sqlite / SQLAlchemy:如何強制執(zhí)行外鍵?

Sqlite / SQLAlchemy:如何強制執(zhí)行外鍵?

眼眸繁星 2019-08-08 16:23:32
Sqlite / SQLAlchemy:如何強制執(zhí)行外鍵?新版本的SQLite能夠強制執(zhí)行外鍵約束,但為了向后兼容,您必須分別為每個數(shù)據(jù)庫連接打開它!sqlite> PRAGMA foreign_keys = ON;我正在使用SQLAlchemy - 我怎樣才能確保它始終打開?我試過的是這個:engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True)engine.execute('pragma foreign_keys=on')......但它不起作用!...我錯過了什么?編輯: 我認為我的真正問題是我安裝了多個版本的SQLite,并且Python沒有使用最新的版本!>>> import sqlite3>>> print sqlite3.sqlite_version3.3.4但我剛剛下載了3.6.23并將exe放在我的項目目錄中!我怎樣才能弄清楚它正在使用哪個.exe并進行更改?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經(jīng)驗 獲得超7個贊

對于最新版本(SQLAlchemy~0.7),SQLAlchemy主頁說:

不推薦使用PoolListener。請參閱PoolEvents

然后CarlS的例子成為:

engine = create_engine(database_url)def _fk_pragma_on_connect(dbapi_con, con_record):
    dbapi_con.execute('pragma foreign_keys=ON')from sqlalchemy import eventevent.listen(engine, 'connect', _fk_pragma_on_connect)


查看完整回答
反對 回復 2019-08-08
?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊

基于conny和shadowmatter的答案,這里的代碼將在發(fā)出PRAGMA語句之前檢查您是否使用SQLite3:

from sqlalchemy import eventfrom sqlalchemy.engine import Enginefrom sqlite3 import Connection as SQLite3Connection@event.listens_for(Engine, "connect")def _set_sqlite_pragma(dbapi_connection, connection_record):
    if isinstance(dbapi_connection, SQLite3Connection):
        cursor = dbapi_connection.cursor()
        cursor.execute("PRAGMA foreign_keys=ON;")
        cursor.close()


查看完整回答
反對 回復 2019-08-08
  • 3 回答
  • 0 關(guān)注
  • 660 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號