diff --git a/decnet/web/db/sqlmodel_repo.py b/decnet/web/db/sqlmodel_repo.py index fa1e5b9b..1efb544e 100644 --- a/decnet/web/db/sqlmodel_repo.py +++ b/decnet/web/db/sqlmodel_repo.py @@ -1111,6 +1111,10 @@ class SQLModelRepository(BaseRepository): text("DELETE FROM lans WHERE topology_id = :t"), params, ) + await session.execute( + text("DELETE FROM topology_mutations WHERE topology_id = :t"), + params, + ) result = await session.execute( select(Topology).where(Topology.id == topology_id) ) diff --git a/tests/topology/test_repo.py b/tests/topology/test_repo.py index f1fb138d..88e2a25b 100644 --- a/tests/topology/test_repo.py +++ b/tests/topology/test_repo.py @@ -138,6 +138,7 @@ async def test_cascade_delete_clears_all_children(repo): {"topology_id": t_id, "decky_uuid": d_uuid, "lan_id": lan_id} ) await repo.update_topology_status(t_id, "deploying") + await repo.enqueue_topology_mutation(t_id, "noop", {"x": 1}) assert await repo.delete_topology_cascade(t_id) is True assert await repo.get_topology(t_id) is None