diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-09-22 13:58:13 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-09-22 13:58:13 -0500 |
commit | a6252cbf211691aa9d81fd535f5af7bcdbbd6620 (patch) | |
tree | ca1131ba7a8ff0437d392c20a70f17ee7470e3dd /mediagoblin/gmg_commands/dbupdate.py | |
parent | c47f402d7ee42e88ee1086351010dd598da6c0a5 (diff) | |
parent | 6430ae97eca57f4db4bcef54436df6c2abcd21ad (diff) | |
download | mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.tar.lz mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.tar.xz mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.zip |
Merge branch 'merge-python3-port'
Conflicts:
setup.py
Diffstat (limited to 'mediagoblin/gmg_commands/dbupdate.py')
-rw-r--r-- | mediagoblin/gmg_commands/dbupdate.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index 27283a20..f5c20720 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -19,7 +19,7 @@ import logging from sqlalchemy.orm import sessionmaker from mediagoblin.db.open import setup_connection_and_db_from_config -from mediagoblin.db.migration_tools import MigrationManager +from mediagoblin.db.migration_tools import MigrationManager, AlembicMigrationManager from mediagoblin.init import setup_global_and_app_config from mediagoblin.tools.common import import_component @@ -106,6 +106,13 @@ forgotten to add it? ({1})'.format(plugin, exc)) return managed_dbdata +def run_alembic_migrations(db, app_config, global_config): + """Initializes a database and runs all Alembic migrations.""" + Session = sessionmaker(bind=db.engine) + manager = AlembicMigrationManager(Session()) + manager.init_or_migrate() + + def run_dbupdate(app_config, global_config): """ Initialize or migrate the database as specified by the config file. @@ -116,8 +123,9 @@ def run_dbupdate(app_config, global_config): # Set up the database db = setup_connection_and_db_from_config(app_config, migrations=True) - #Run the migrations + # Run the migrations run_all_migrations(db, app_config, global_config) + run_alembic_migrations(db, app_config, global_config) def run_all_migrations(db, app_config, global_config): @@ -131,7 +139,7 @@ def run_all_migrations(db, app_config, global_config): """ # Gather information from all media managers / projects dbdatas = gather_database_data( - global_config.get('plugins', {}).keys()) + list(global_config.get('plugins', {}).keys())) Session = sessionmaker(bind=db.engine) |