From 892046d2c2f42632c005ee0d2a0d1e586c4e85d3 Mon Sep 17 00:00:00 2001 From: chrisjsimpson Date: Tue, 21 Apr 2020 00:26:11 +0100 Subject: [PATCH] wip use sqlalchemy & migrate during site build ref https://github.com/Subscribie/subscribie/issues/141 --- main.py | 17 +++++++++++++---- requirements.txt | 2 ++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index 99650c4..66e6ec1 100644 --- a/main.py +++ b/main.py @@ -10,8 +10,17 @@ from base64 import b64encode, urlsafe_b64encode import random from pathlib import Path +from flask_migrate import upgrade +from flask_sqlalchemy import SQLAlchemy +from flask_migrate import Migrate + app = Flask(__name__) + +db = SQLAlchemy() +db.init_app(app) +Migrate(app, db) + # Load .env settings curDir = os.path.dirname(os.path.realpath(__file__)) app.config.from_pyfile('/'.join([curDir, '.env'])) @@ -74,10 +83,10 @@ def deploy(): print(call) shutil.move(''.join([dstDir, 'subscribie/', 'data.db']), dstDir) - # Run subscribie_cli migrations - subprocess.call('export LC_ALL=C.UTF-8; export LANG=C.UTF-8; subscribie migrate --DB_FULL_PATH ' + dstDir + \ - 'data.db', \ - cwd = ''.join([dstDir, 'subscribie']), shell=True) + + # Migrate the database + app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + dstDir + 'data.db' + upgrade(directory=dstDir + 'subscribie/migrations') # Seed users table with site owners email address so they can login fp = open(dstDir + 'jamla.yaml', 'r') diff --git a/requirements.txt b/requirements.txt index 25a7310..86e6610 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,5 @@ flask_mail GitPython requests>=2.20.0 pyyaml +flask_sqlalchemy +flask_migrate