Loading django/db/migrations/graph.py +2 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ class MigrationGraph(object): def add_dependency(self, migration, child, parent): if child not in self.nodes: raise KeyError("Migration %s dependencies references nonexistent child node %r" % (migration, child)) raise KeyError("Migration %s dependencies reference nonexistent child node %r" % (migration, child)) if parent not in self.nodes: raise KeyError("Migration %s dependencies references nonexistent parent node %r" % (migration, parent)) raise KeyError("Migration %s dependencies reference nonexistent parent node %r" % (migration, parent)) self.dependencies.setdefault(child, set()).add(parent) self.dependents.setdefault(parent, set()).add(child) Loading tests/migrations/test_graph.py +4 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,8 @@ class GraphTests(TestCase): graph.add_node(("app_b", "0001"), None) graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002")) graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001")) with self.assertRaisesMessage(KeyError, "Migration app_a.0001 dependencies references nonexistent parent node ('app_b', '0002')"): msg = "Migration app_a.0001 dependencies reference nonexistent parent node ('app_b', '0002')" with self.assertRaisesMessage(KeyError, msg): graph.add_dependency("app_a.0001", ("app_a", "0001"), ("app_b", "0002")) def test_missing_child_nodes(self): Loading @@ -184,5 +185,6 @@ class GraphTests(TestCase): # Build graph graph = MigrationGraph() graph.add_node(("app_a", "0001"), None) with self.assertRaisesMessage(KeyError, "Migration app_a.0002 dependencies references nonexistent child node ('app_a', '0002')"): msg = "Migration app_a.0002 dependencies reference nonexistent child node ('app_a', '0002')" with self.assertRaisesMessage(KeyError, msg): graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001")) Loading
django/db/migrations/graph.py +2 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ class MigrationGraph(object): def add_dependency(self, migration, child, parent): if child not in self.nodes: raise KeyError("Migration %s dependencies references nonexistent child node %r" % (migration, child)) raise KeyError("Migration %s dependencies reference nonexistent child node %r" % (migration, child)) if parent not in self.nodes: raise KeyError("Migration %s dependencies references nonexistent parent node %r" % (migration, parent)) raise KeyError("Migration %s dependencies reference nonexistent parent node %r" % (migration, parent)) self.dependencies.setdefault(child, set()).add(parent) self.dependents.setdefault(parent, set()).add(child) Loading
tests/migrations/test_graph.py +4 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,8 @@ class GraphTests(TestCase): graph.add_node(("app_b", "0001"), None) graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002")) graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001")) with self.assertRaisesMessage(KeyError, "Migration app_a.0001 dependencies references nonexistent parent node ('app_b', '0002')"): msg = "Migration app_a.0001 dependencies reference nonexistent parent node ('app_b', '0002')" with self.assertRaisesMessage(KeyError, msg): graph.add_dependency("app_a.0001", ("app_a", "0001"), ("app_b", "0002")) def test_missing_child_nodes(self): Loading @@ -184,5 +185,6 @@ class GraphTests(TestCase): # Build graph graph = MigrationGraph() graph.add_node(("app_a", "0001"), None) with self.assertRaisesMessage(KeyError, "Migration app_a.0002 dependencies references nonexistent child node ('app_a', '0002')"): msg = "Migration app_a.0002 dependencies reference nonexistent child node ('app_a', '0002')" with self.assertRaisesMessage(KeyError, msg): graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))