async def pg_engine(loop):  # pylint: disable=unused-argument
    """fixture for migrations"""
    engine = await init_pg_pool()

    config = AlembicConfig('alembic.ini')
    alembic_upgrade(config, 'head')

    yield engine

    alembic_downgrade(config, 'base')

    engine.close()
    await engine.wait_closed()
Beispiel #2
0
    def drop_all():
        from sqlalchemy import create_engine
        from sqlalchemy.orm import sessionmaker
        from alembic.command import downgrade as alembic_downgrade

        engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI'],
                               echo=True)
        session_factory = sessionmaker(bind=engine)
        _db = {
            'engine': engine,
            'session_factory': session_factory,
        }

        alembic_downgrade(get_db_config(), 'base')

        session = _db['session_factory']()
        session.rollback()
        session.close()
        engine.dispose()
Beispiel #3
0
def checkout(_config, relative_revision, revision):
    alembic_config = _config.alembic_config
    script = ScriptDirectory.from_config(alembic_config)
    all_revisions = [rev.revision for rev in script.walk_revisions()]
    if revision == 'head':
        alembic_upgrade(alembic_config, revision)
    elif revision is not None:
        if revision not in all_revisions:
            raise click.UsageError('No such a revision: {}, '
                                   'check `history` to find appropriate '
                                   'revision.'.format(revision))
        try:
            alembic_upgrade(alembic_config, revision)
        except Exception:
            alembic_downgrade(alembic_config, revision)
    elif relative_revision and relative_revision.upgrade:
        alembic_upgrade(alembic_config, relative_revision.n)
    elif relative_revision:
        alembic_downgrade(alembic_config, relative_revision.n)
    else:
        raise click.BadParameter(
            'onf of `relatie_revision`, `revision` MUST be required.')
Beispiel #4
0
def checkout(_config, relative_revision, revision):
    alembic_config = _config.alembic_config
    script = ScriptDirectory.from_config(alembic_config)
    all_revisions = [rev.revision for rev in script.walk_revisions()]
    if revision == 'head':
        alembic_upgrade(alembic_config, revision)
    elif revision is not None:
        if revision not in all_revisions:
            raise click.UsageError('No such a revision: {}, '
                                   'check `history` to find appropriate '
                                   'revision.'.format(revision))
        try:
            alembic_upgrade(alembic_config, revision)
        except Exception:
            alembic_downgrade(alembic_config, revision)
    elif relative_revision and relative_revision.upgrade:
        alembic_upgrade(alembic_config, relative_revision.n)
    elif relative_revision:
        alembic_downgrade(alembic_config, relative_revision.n)
    else:
        raise click.BadParameter(
            'onf of `relatie_revision`, `revision` MUST be required.')
Beispiel #5
0
 def downgrade_db(self, version='base'):
     self.setup_migration_version_control()
     alembic_downgrade(self.alembic_config, version)
     log.info(u'CKAN database version set to: %s', version)
Beispiel #6
0
def downgrade_db(postgres_server: Dict[str, str], revision: str) -> None:
    alembic_downgrade(config=postgres_server["alembic_cfg"], revision=revision)
Beispiel #7
0
def downgrade(revision):
    """리버전의 버전을 내립니다. 내릴 리비전이 명시적으로 표시되어야합니다.
    """
    alembic_downgrade(alembic_config(), revision)
Beispiel #8
0
def downgrade(revision):
    """리버전의 버전을 내립니다. 내릴 리비전이 명시적으로 표시되어야합니다.
    """
    alembic_downgrade(alembic_config(), revision)
Beispiel #9
0
def downgrade(revision):
    """Downgrade a revision to --revision"""
    engine = get_engine()
    config, _ = get_alembic_config(engine)
    alembic_downgrade(config, revision)
Beispiel #10
0
 def downgrade_db(self, version='base'):
     self.setup_migration_version_control()
     alembic_downgrade(self.alembic_config, version)
     log.info(u'CKAN database version set to: %s', version)
Beispiel #11
0
def downgrade(revision):
    """Downgrade a revision to --revision"""
    engine = get_engine()
    config, _ = get_alembic_config(engine)
    alembic_downgrade(config, revision)