Loading django/db/migrations/autodetector.py +5 −4 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ class MigrationAutodetector(object): to try and restrict to (restriction is not guaranteed) """ changes = self._detect_changes() changes = self._arrange_for_graph(changes, graph) changes = self.arrange_for_graph(changes, graph) if trim_to_apps: changes = self._trim_to_apps(changes, trim_to_apps) return changes Loading Loading @@ -299,7 +299,7 @@ class MigrationAutodetector(object): dependency = ("__setting__", setting_name) self.migrations[app_label][-1].dependencies.append(dependency) def _arrange_for_graph(self, changes, graph): def arrange_for_graph(self, changes, graph): """ Takes in a result from changes() and a MigrationGraph, and fixes the names and dependencies of the changes so they Loading Loading @@ -388,7 +388,8 @@ class MigrationAutodetector(object): return "%s_%s" % (ops[0].model_name.lower(), ops[0].name.lower()) elif isinstance(ops[0], operations.RemoveField): return "remove_%s_%s" % (ops[0].model_name.lower(), ops[0].name.lower()) elif all(isinstance(o, operations.CreateModel) for o in ops): elif len(ops) > 1: if all(isinstance(o, operations.CreateModel) for o in ops): return "_".join(sorted(o.name.lower() for o in ops)) return "auto_%s" % datetime.datetime.now().strftime("%Y%m%d_%H%M") Loading tests/migrations/test_autodetector.py +2 −2 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ class AutodetectorTests(TestCase): autodetector = MigrationAutodetector(before, after) changes = autodetector._detect_changes() # Run through arrange_for_graph changes = autodetector._arrange_for_graph(changes, graph) changes = autodetector.arrange_for_graph(changes, graph) # Make sure there's a new name, deps match, etc. self.assertEqual(changes["testapp"][0].name, "0003_author") self.assertEqual(changes["testapp"][0].dependencies, [("testapp", "0002_foobar")]) Loading @@ -70,7 +70,7 @@ class AutodetectorTests(TestCase): changes = autodetector._detect_changes() # Run through arrange_for_graph graph = MigrationGraph() changes = autodetector._arrange_for_graph(changes, graph) changes = autodetector.arrange_for_graph(changes, graph) changes["testapp"][0].dependencies.append(("otherapp", "0001_initial")) changes = autodetector._trim_to_apps(changes, set(["testapp"])) # Make sure there's the right set of migrations Loading Loading
django/db/migrations/autodetector.py +5 −4 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ class MigrationAutodetector(object): to try and restrict to (restriction is not guaranteed) """ changes = self._detect_changes() changes = self._arrange_for_graph(changes, graph) changes = self.arrange_for_graph(changes, graph) if trim_to_apps: changes = self._trim_to_apps(changes, trim_to_apps) return changes Loading Loading @@ -299,7 +299,7 @@ class MigrationAutodetector(object): dependency = ("__setting__", setting_name) self.migrations[app_label][-1].dependencies.append(dependency) def _arrange_for_graph(self, changes, graph): def arrange_for_graph(self, changes, graph): """ Takes in a result from changes() and a MigrationGraph, and fixes the names and dependencies of the changes so they Loading Loading @@ -388,7 +388,8 @@ class MigrationAutodetector(object): return "%s_%s" % (ops[0].model_name.lower(), ops[0].name.lower()) elif isinstance(ops[0], operations.RemoveField): return "remove_%s_%s" % (ops[0].model_name.lower(), ops[0].name.lower()) elif all(isinstance(o, operations.CreateModel) for o in ops): elif len(ops) > 1: if all(isinstance(o, operations.CreateModel) for o in ops): return "_".join(sorted(o.name.lower() for o in ops)) return "auto_%s" % datetime.datetime.now().strftime("%Y%m%d_%H%M") Loading
tests/migrations/test_autodetector.py +2 −2 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ class AutodetectorTests(TestCase): autodetector = MigrationAutodetector(before, after) changes = autodetector._detect_changes() # Run through arrange_for_graph changes = autodetector._arrange_for_graph(changes, graph) changes = autodetector.arrange_for_graph(changes, graph) # Make sure there's a new name, deps match, etc. self.assertEqual(changes["testapp"][0].name, "0003_author") self.assertEqual(changes["testapp"][0].dependencies, [("testapp", "0002_foobar")]) Loading @@ -70,7 +70,7 @@ class AutodetectorTests(TestCase): changes = autodetector._detect_changes() # Run through arrange_for_graph graph = MigrationGraph() changes = autodetector._arrange_for_graph(changes, graph) changes = autodetector.arrange_for_graph(changes, graph) changes["testapp"][0].dependencies.append(("otherapp", "0001_initial")) changes = autodetector._trim_to_apps(changes, set(["testapp"])) # Make sure there's the right set of migrations Loading