From f2d31925be4ac0751f2e8ffb760a6c8ba3e85796 Mon Sep 17 00:00:00 2001 From: Michael Milton <ttmigueltt@gmail.com> Date: Wed, 5 Aug 2020 15:12:45 +1000 Subject: [PATCH] Fix tests with stamping feature --- megaqc/database.py | 5 +++-- megaqc/extensions.py | 4 +++- tests/conftest.py | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/megaqc/database.py b/megaqc/database.py index 3f4e1411..1ec9d1b3 100644 --- a/megaqc/database.py +++ b/megaqc/database.py @@ -6,13 +6,14 @@ from builtins import object from copy import copy +from flask_migrate import stamp from past.builtins import basestring from sqlalchemy import create_engine, inspect from sqlalchemy.engine.url import make_url from sqlalchemy.exc import OperationalError, ProgrammingError from .compat import basestring -from .extensions import db, migrate +from .extensions import db # Alias common SQLAlchemy names Column = db.Column @@ -195,6 +196,6 @@ def init_db(url): db.metadata.create_all() # Tell alembic that we're at the latest migration, since we just created everything from scratch - migrate.stamp() + stamp() print("Initialized the database.") diff --git a/megaqc/extensions.py b/megaqc/extensions.py index 1243a27c..1fc8d138 100644 --- a/megaqc/extensions.py +++ b/megaqc/extensions.py @@ -4,6 +4,8 @@ Each extension is initialized in the app factory located in app.py. """ +from pathlib import Path + from flask_caching import Cache from flask_debugtoolbar import DebugToolbarExtension from flask_login import LoginManager @@ -21,5 +23,5 @@ cache = Cache() debug_toolbar = DebugToolbarExtension() restful = Api(prefix="/rest_api/v1") -migrate = Migrate() +migrate = Migrate(directory=str(Path(__file__).parent / "migrations")) json_api = JsonApi() diff --git a/tests/conftest.py b/tests/conftest.py index 6f7b4134..78490586 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -19,10 +19,10 @@ def app(): An application for the tests. """ config = TestConfig() - init_db(config.SQLALCHEMY_DATABASE_URI) _app = create_app(config) ctx = _app.test_request_context() ctx.push() + init_db(config.SQLALCHEMY_DATABASE_URI) yield _app