mirror of
https://github.com/quay/quay.git
synced 2026-01-26 06:21:37 +03:00
* chore: drop deprecated tables and remove unused code * isort imports * migration: check for table existence before drop
29 lines
864 B
Python
29 lines
864 B
Python
import logging
|
|
|
|
from alembic.config import Config
|
|
from alembic.environment import EnvironmentContext
|
|
from alembic.migration import __name__ as migration_name
|
|
from alembic.script import ScriptDirectory
|
|
|
|
|
|
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()
|