예제 #1
0
def get_db_version(extension=None):
    if not extension:
        return migration.db_version(sql.get_engine(), find_migrate_repo(), migrate_repo.DB_INIT_VERSION)

    try:
        package_name = ".".join((contrib.__name__, extension))
        package = importutils.import_module(package_name)
    except ImportError:
        raise ImportError(_("%s extension does not exist.") % package_name)

    return migration.db_version(sql.get_engine(), find_migrate_repo(package), 0)
예제 #2
0
    def test_db_version_raise_not_controlled_error_no_tables(self, mock_vc):
        with mock.patch.object(sqlalchemy, 'MetaData') as mock_meta:
            self.mock_api_db_version.side_effect = (
                migrate_exception.DatabaseNotControlledError('oups'),
                self.init_version)
            my_meta = mock.MagicMock()
            my_meta.tables = {}
            mock_meta.return_value = my_meta
            migration.db_version(self.engine, self.path, self.init_version)

            mock_vc.assert_called_once_with(self.engine, self.return_value1,
                                            self.init_version)
예제 #3
0
def get_db_version(extension=None):
    if not extension:
        return migration.db_version(sql.get_engine(), find_migrate_repo(),
                                    migrate_repo.DB_INIT_VERSION)

    try:
        package_name = '.'.join((contrib.__name__, extension))
        package = importutils.import_module(package_name)
    except ImportError:
        raise ImportError(_("%s extension does not exist.") % package_name)

    return migration.db_version(sql.get_engine(), find_migrate_repo(package),
                                0)
예제 #4
0
 def test_start_version_db_init_version(self):
     with sql.session_for_write() as session:
         version = migration.db_version(session.get_bind(), self.repo_path,
                                        migrate_repo.DB_INIT_VERSION)
     self.assertEqual(
         migrate_repo.DB_INIT_VERSION, version,
         'DB is not at version %s' % migrate_repo.DB_INIT_VERSION)
예제 #5
0
 def version(self):
     """Print the current database version."""
     print(db_migration.MIGRATE_REPO_PATH)
     print(
         migration.db_version(db_api.get_engine(),
                              db_migration.MIGRATE_REPO_PATH,
                              db_migration.INIT_VERSION))
예제 #6
0
def get_db_version(init_version=INIT_VERSION, engine=None):
    if engine is None:
        engine = get_engine()

    version = db_version(engine, MIGRATE_REPO_PATH, init_version)

    return version
예제 #7
0
 def test_start_version_db_init_version(self):
     version = migration.db_version(sql.get_engine(), self.repo_path,
                                    migrate_repo.DB_INIT_VERSION)
     self.assertEqual(
         migrate_repo.DB_INIT_VERSION,
         version,
         'DB is not at version %s' % migrate_repo.DB_INIT_VERSION)
예제 #8
0
 def test_start_version_db_init_version(self):
     version = migration.db_version(sql.get_engine(), self.repo_path,
                                    migrate_repo.DB_INIT_VERSION)
     self.assertEqual(
         migrate_repo.DB_INIT_VERSION,
         version,
         'DB is not at version %s' % migrate_repo.DB_INIT_VERSION)
예제 #9
0
def get_db_version(extension=None):
    if not extension:
        with sql.session_for_write() as session:
            return migration.db_version(session.get_bind(),
                                        find_migrate_repo(),
                                        get_init_version())

    try:
        package_name = '.'.join((contrib.__name__, extension))
        package = importutils.import_module(package_name)
    except ImportError:
        raise ImportError(_("%s extension does not exist.") % package_name)

    with sql.session_for_write() as session:
        return migration.db_version(session.get_bind(),
                                    find_migrate_repo(package), 0)
예제 #10
0
    def test_db_version_raise_not_controlled_migrate_tables(self, mock_vc):
        # When there are tables but the sqlalchemy-migrate control table
        # (migrate_version) is present, attempt to version the db.
        # This simulates the case where there is are multiple repos (different
        # abs_paths) and a different path has been versioned already.
        with mock.patch.object(sqlalchemy, 'MetaData') as mock_meta:
            self.mock_api_db_version.side_effect = [
                migrate_exception.DatabaseNotControlledError('oups'), None]
            my_meta = mock.MagicMock()
            my_meta.tables = {'migrate_version': 1, 'b': 2}
            mock_meta.return_value = my_meta

            migration.db_version(self.engine, self.path, self.init_version)

            mock_vc.assert_called_once_with(self.engine, self.return_value1,
                                            self.init_version)
예제 #11
0
 def test_start_version_db_init_version(self):
     with sql.session_for_write() as session:
         version = migration.db_version(session.get_bind(), self.repo_path,
                                        self._initial_db_version)
     self.assertEqual(
         self._initial_db_version,
         version,
         'DB is not at version %s' % self._initial_db_version)
예제 #12
0
파일: __init__.py 프로젝트: mahak/glance
def get_current_legacy_head():
    try:
        legacy_head = sqla_migration.db_version(db_api.get_engine(),
                                                db_migration.MIGRATE_REPO_PATH,
                                                db_migration.INIT_VERSION)
    except db_exception.DBMigrationError:
        legacy_head = None
    return legacy_head
예제 #13
0
def get_current_legacy_head():
    try:
        legacy_head = sqla_migration.db_version(db_api.get_engine(),
                                                db_migration.MIGRATE_REPO_PATH,
                                                db_migration.INIT_VERSION)
    except db_exception.DbMigrationError:
        legacy_head = None
    return legacy_head
예제 #14
0
 def test_start_version_db_init_version(self):
     with sql.session_for_write() as session:
         version = migration.db_version(session.get_bind(), self.repo_path,
                                        migrate_repo.DB_INIT_VERSION)
     self.assertEqual(
         migrate_repo.DB_INIT_VERSION,
         version,
         'DB is not at version %s' % migrate_repo.DB_INIT_VERSION)
예제 #15
0
 def test_start_version_db_init_version(self):
     with sql.session_for_write() as session:
         version = migration.db_version(session.get_bind(), self.repo_path,
                                        self._initial_db_version)
     self.assertEqual(
         self._initial_db_version,
         version,
         'DB is not at version %s' % self._initial_db_version)
예제 #16
0
def get_db_version(extension=None):
    if not extension:
        with sql.session_for_write() as session:
            return migration.db_version(session.get_bind(),
                                        find_migrate_repo(),
                                        get_init_version())

    try:
        package_name = '.'.join((contrib.__name__, extension))
        package = importutils.import_module(package_name)
    except ImportError:
        raise ImportError(_("%s extension does not exist.")
                          % package_name)

    with sql.session_for_write() as session:
        return migration.db_version(
            session.get_bind(), find_migrate_repo(package), 0)
예제 #17
0
    def test_db_version_raise_not_controlled_error_first(self):
        with mock.patch.object(migration, 'db_version_control') as mock_ver:

            self.mock_api_db_version.side_effect = [
                migrate_exception.DatabaseNotControlledError('oups'),
                self.test_version]

            ret_val = migration.db_version(self.engine, self.path,
                                           self.init_version)
            self.assertEqual(self.test_version, ret_val)
            mock_ver.assert_called_once_with(self.engine, self.path,
                                             version=self.init_version)
예제 #18
0
def db_version(engine):
    path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
                        'migrate_repo')
    return oslo_migration.db_version(engine, path, INIT_VERSION)
예제 #19
0
 def version(self):
     """Print the current database version."""
     print(migration.db_version(db_api.get_engine(),
                                db_migration.MIGRATE_REPO_PATH,
                                db_migration.INIT_VERSION))
예제 #20
0
 def version(self):
     with sql.session_for_read() as session:
         return migration.db_version(
             session.get_bind(), self.repo_path, self.min_version)
예제 #21
0
def get_db_version(repo=LEGACY_REPO):
    with sql.session_for_read() as session:
        repo = find_repo(repo)
        return migration.db_version(
            session.get_bind(), repo, get_init_version(repo))
예제 #22
0
def get_db_version():
    with sql.session_for_write() as session:
        return migration.db_version(session.get_bind(), find_migrate_repo(),
                                    get_init_version())
예제 #23
0
 def test_db_version_return(self):
     ret_val = migration.db_version(self.engine, self.path,
                                    self.init_version)
     self.assertEqual(self.test_version, ret_val)
예제 #24
0
def db_version():
    engine = core.get_engine()
    repo_abs_path = find_migrate_repo()
    init_version = migrate_repo.DB_INIT_VERSION
    return migration.db_version(engine, repo_abs_path, init_version)
예제 #25
0
파일: migration.py 프로젝트: openstack/heat
def db_version(engine):
    path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "migrate_repo")
    return oslo_migration.db_version(engine, path, INIT_VERSION)
def get_db_version():
    with sql.session_for_read() as session:
        return migration.db_version(session.get_bind(), find_repo(LEGACY_REPO),
                                    get_init_version())
예제 #27
0
def get_db_version(repo=LEGACY_REPO):
    with sql.session_for_read() as session:
        return migration.db_version(
            session.get_bind(), find_repo(repo), get_init_version())
예제 #28
0
 def version(self):
     with sql.session_for_read() as session:
         return migration.db_version(
             session.get_bind(), self.repo_path, self.min_version)
예제 #29
0
 def version(self):
     return migration.db_version(
         self.engine, self.repository, init_version=self.init_version)
예제 #30
0
def get_db_version():
    with sql.session_for_write() as session:
        return migration.db_version(session.get_bind(),
                                    find_migrate_repo(),
                                    get_init_version())