18 lines
627 B
Python
18 lines
627 B
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from alembic.config import Config
|
|
from alembic.script import ScriptDirectory
|
|
|
|
|
|
def test_migration_graph_has_unique_revisions_and_one_head() -> None:
|
|
migrations = Path(__file__).parents[1] / "packages" / "harness" / "deerflow" / "persistence" / "migrations"
|
|
config = Config()
|
|
config.set_main_option("script_location", str(migrations))
|
|
scripts = ScriptDirectory.from_config(config)
|
|
|
|
revisions = list(scripts.walk_revisions())
|
|
assert len({revision.revision for revision in revisions}) == len(revisions)
|
|
assert len(scripts.get_heads()) == 1
|