6
0
فهرست منبع

added SQLite pragma for foreign key on every new connection

Dimitri Korsch 3 سال پیش
والد
کامیت
ef1712f254
1فایلهای تغییر یافته به همراه9 افزوده شده و 1 حذف شده
  1. 9 1
      pycs/__init__.py

+ 9 - 1
pycs/__init__.py

@@ -5,7 +5,8 @@ from pathlib import Path
 from flask import Flask
 from flask_migrate import Migrate
 from flask_sqlalchemy import SQLAlchemy
-
+from sqlalchemy import event
+from sqlalchemy.engine import Engine
 
 print('- Loading settings')
 with open('settings.json') as file:
@@ -15,5 +16,12 @@ with open('settings.json') as file:
 app = Flask(__name__)
 app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{Path.cwd() / settings['database']}"
 app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
+
+@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()
+
 db = SQLAlchemy(app)
 migrate = Migrate(app, db)