コード例 #1
0
ファイル: migration.py プロジェクト: zzz6519003/heat
def db_sync(version=None):
    if version is not None:
        try:
            version = int(version)
        except ValueError:
            raise exception.Error(_("version should be an integer"))
    current_version = db_version()
    repository = _find_migrate_repo()
    if version is None or version > current_version:
        return versioning_api.upgrade(get_engine(), repository, version)
    else:
        return versioning_api.downgrade(get_engine(), repository, version)
コード例 #2
0
ファイル: migration.py プロジェクト: grncdr/heat
def db_sync(version=None):
    if version is not None:
        try:
            version = int(version)
        except ValueError:
            raise exception.Error(_("version should be an integer"))
    current_version = db_version()
    repository = _find_migrate_repo()
    if version is None or version > current_version:
        return versioning_api.upgrade(get_engine(), repository, version)
    else:
        return versioning_api.downgrade(get_engine(), repository,
                                        version)
コード例 #3
0
ファイル: migration.py プロジェクト: grncdr/heat
def db_version():
    repository = _find_migrate_repo()
    try:
        return versioning_api.db_version(get_engine(), repository)
    except versioning_exceptions.DatabaseNotControlledError as exc:
        # If we aren't version controlled there may be an existing,
        # non-version controlled database present.
        meta = sqlalchemy.MetaData()
        engine = get_engine()
        meta.reflect(bind=engine)
        tables = meta.tables
        if len(tables):
            raise exc

        db_version_control(INIT_VERSION)
        return versioning_api.db_version(get_engine(), repository)
コード例 #4
0
ファイル: migration.py プロジェクト: zzz6519003/heat
def db_version():
    repository = _find_migrate_repo()
    try:
        return versioning_api.db_version(get_engine(), repository)
    except versioning_exceptions.DatabaseNotControlledError as exc:
        # If we aren't version controlled there may be an existing,
        # non-version controlled database present.
        meta = sqlalchemy.MetaData()
        engine = get_engine()
        meta.reflect(bind=engine)
        tables = meta.tables
        if len(tables):
            raise exc

        db_version_control(INIT_VERSION)
        return versioning_api.db_version(get_engine(), repository)
コード例 #5
0
ファイル: migration.py プロジェクト: grncdr/heat
def db_version_control(version=None):
    repository = _find_migrate_repo()
    versioning_api.version_control(get_engine(), repository, version)
    return version
コード例 #6
0
ファイル: migration.py プロジェクト: zzz6519003/heat
def db_version_control(version=None):
    repository = _find_migrate_repo()
    versioning_api.version_control(get_engine(), repository, version)
    return version