6
0

__init__.py 716 B

123456789101112131415161718192021222324252627
  1. import json
  2. from pathlib import Path
  3. from flask import Flask
  4. from flask_migrate import Migrate
  5. from flask_sqlalchemy import SQLAlchemy
  6. from sqlalchemy import event
  7. from sqlalchemy.engine import Engine
  8. print('- Loading settings')
  9. with open('settings.json') as file:
  10. settings = json.load(file)
  11. app = Flask(__name__)
  12. app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{Path.cwd() / settings['database']}"
  13. app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
  14. @event.listens_for(Engine, "connect")
  15. def set_sqlite_pragma(dbapi_connection, connection_record):
  16. cursor = dbapi_connection.cursor()
  17. cursor.execute("PRAGMA foreign_keys=ON")
  18. cursor.close()
  19. db = SQLAlchemy(app)
  20. migrate = Migrate(app, db)