INNER CODE UNIT · Python

db_migration

dialoguemd/fastapi-sqla · fastapi_sqla/_pytest_plugin.py:77

def db_migration(db_url: str, sqla_connection: Connection, alembic_ini_path: str):
    """Run alembic upgrade at test session setup and downgrade at tear down.

    Override fixture `alembic_ini_path` to change path of `alembic.ini` file.
    """
    alembic_config = Config(file_=alembic_ini_path)
    alembic_config.set_main_option("sqlalchemy.url", db_url)

    with sqla_connection.begin():
        sqla_connection.execute(
            text("DROP SCHEMA public CASCADE; CREATE SCHEMA public;")
        )

    command.upgrade(alembic_config, "head")
    yield
    command.downgrade(alembic_config, "base")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…