All pastes #2046141 Raw Edit

Miscellany

public text v1 · immutable
#2046141 ·published 2011-04-13 21:03 UTC
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)