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()
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()
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.')
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)
def downgrade_db(postgres_server: Dict[str, str], revision: str) -> None: alembic_downgrade(config=postgres_server["alembic_cfg"], revision=revision)
def downgrade(revision): """리버전의 버전을 내립니다. 내릴 리비전이 명시적으로 표시되어야합니다. """ alembic_downgrade(alembic_config(), revision)
def downgrade(revision): """Downgrade a revision to --revision""" engine = get_engine() config, _ = get_alembic_config(engine) alembic_downgrade(config, revision)