From: Boris Bobrov Date: Sat, 1 Apr 2017 18:07:01 +0000 (+0300) Subject: Commit session after alembic updates have finished X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=a5dae0dbc2dc7036a117589555e3a5b0bf10f596;p=mediagoblin.git Commit session after alembic updates have finished After alembic updates we need to add foundations. The tables to add foundations to are created as part of dbupdate process. For some reason Alembic doesn't commit a session in the end. Because the session is not commited, the tables do not really get created. And because of that, foundations fail. The solution is to commit the session after alembic updates. --- diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index bafe76bb..2700ccbc 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -133,7 +133,9 @@ def run_alembic_migrations(db, app_config, global_config): session = Session() cfg = build_alembic_config(global_config, None, session) - return command.upgrade(cfg, 'heads') + res = command.upgrade(cfg, 'heads') + session.commit() + return res def run_dbupdate(app_config, global_config): @@ -146,7 +148,7 @@ def run_dbupdate(app_config, global_config): # Set up the database db = setup_connection_and_db_from_config(app_config, migrations=True) - # Do we have migrations + # Do we have migrations should_run_sqam_migrations = db.engine.has_table("core__migrations") and \ sqam_migrations_to_run(db, app_config, global_config)