(self, target: MigrationKey)
| 132 | return self._iterative_dfs(self.node_map[target], forwards=True) |
| 133 | |
| 134 | def backwards_plan(self, target: MigrationKey) -> list[MigrationKey]: |
| 135 | if target not in self.nodes: |
| 136 | raise ValueError(f"Unknown migration target {target}") |
| 137 | return self._iterative_dfs(self.node_map[target], forwards=False) |
| 138 | |
| 139 | def _iterative_dfs(self, start: Node, *, forwards: bool) -> list[MigrationKey]: |
| 140 | visited: list[MigrationKey] = [] |