diff --git a/test/db/__init__.py b/test/db/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/db/test_migrations.py b/test/db/test_migrations.py new file mode 100644 index 0000000000000000000000000000000000000000..cdc6790bf29bbccfd5d928eaa64a00cfceba0918 --- /dev/null +++ b/test/db/test_migrations.py @@ -0,0 +1,16 @@ +import pytest +from alembic.migration import MigrationContext +from sqlalchemy import create_engine + + +@pytest.mark.noautofixt() +def test_migrations_no_branches(db_uri): + engine = create_engine(db_uri) + conn = engine.connect() + context = MigrationContext.configure(conn) + + assert len(context.get_current_heads()) == 1, ( + "\n\n!!!\n\nDetected a branching of db migrations. This is caused by multiple `down_revision`s referring to the" + " same migration.\n\nPlease resolve this by updating either one of these migrations: " + f"{context.get_current_heads()}.\n\n!!!\n\n" + ) diff --git a/tox.ini b/tox.ini index 02437f720ac1159df27281b195faf1f44ff7ed70..de7627e2dd6ed3c6700daff2e5016d50e4128ba0 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,7 @@ deps = -r requirements.txt commands = - ruff --respect-gitignore --preview . + ruff check --respect-gitignore --preview . ruff format --respect-gitignore --preview --check . mypy . coverage erase