rendered paste body # Database upgrades
repo_id = 'Vigilia'
repo_path = 'vigilia/upgrades'
upgrades_path = os.path.join(os.path.dirname(__file__), 'upgrades')
mver = model.MigrateVersion.query.filter_by(repository_id=repo_id).first()
from vigilia.upgrades import Repository
repo = Repository(upgrades_path, 'Vigilia')
last_value = int(repo.latest.value)
if not mver:
log.info("Adding database version control revision number")
mver = model.MigrateVersion()
mver.repository_id = repo_id
mver.repository_path = repo_path
mver.version = last_value
meta.Session.commit()
if mver.version < last_value:
log.info("Database upgrade necessary, processing...")
from migrate.versioning.schema import ControlledSchema
schema = ControlledSchema(meta.engine, repo)
schema.upgrade(last_value)