from pathlib import Path ROOT = Path(__file__).resolve().parents[1] def test_active_metadata_migration_is_additive_traceable_and_non_destructive(): migration = ( ROOT / "migrations/versions/20260730_380_active_metadata_lineage.py" ).read_text(encoding="utf-8") assert 'revision = "20260730_380"' in migration assert 'down_revision = "20260730_370"' in migration for table in ( "active_metadata_plans", "active_metadata_runs", "active_metadata_assets", "active_metadata_asset_versions", "active_metadata_changes", "active_metadata_lineage", "active_metadata_health_signals", "active_metadata_corrections", "active_metadata_correction_audits", ): assert f"CREATE TABLE public.{table}" in migration assert "UNIQUE (plan_uid, batch_key)" in migration assert "deletion_candidate" in migration assert "source_field" in migration and "target_field" in migration assert "failure_reason" in migration assert "DROP TABLE" not in migration.upper() assert "DELETE FROM public" not in migration