1
0
mirror of https://github.com/quay/quay.git synced 2026-01-26 06:21:37 +03:00
Files
quay/data/runmigration.py
2019-12-02 12:23:08 -05:00

29 lines
864 B
Python

import logging
from alembic.config import Config
from alembic.script import ScriptDirectory
from alembic.environment import EnvironmentContext
from alembic.migration import __name__ as migration_name
def run_alembic_migration(db_uri, log_handler=None, setup_app=True):
if log_handler:
logging.getLogger(migration_name).addHandler(log_handler)
config = Config()
config.set_main_option("script_location", "data:migrations")
config.set_main_option("db_uri", db_uri)
if setup_app:
config.set_main_option("alembic_setup_app", "True")
else:
config.set_main_option("alembic_setup_app", "")
script = ScriptDirectory.from_config(config)
def fn(rev, context):
return script._upgrade_revs("head", rev)
with EnvironmentContext(config, script, fn=fn, destination_rev="head"):
script.run_env()