Fixed #23071 -- Use last migration's name in dependency to other app

Changed the autodetector to lookup the name of the other app's last
migration in the graph and use that as dependency instead of using
__latest__.
This commit is contained in:
Jeroen Dekkers 2014-07-14 21:09:33 +02:00
parent b4cf7e3d1d
commit 3582698c13
9 changed files with 9 additions and 65 deletions

View file

@ -1059,7 +1059,8 @@ class AutodetectorTests(TestCase):
@override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"})
def test_last_dependency(self):
"""
Tests that a dependency to an app with existing migrations uses __latest__.
Tests that a dependency to an app with existing migrations uses the
last migration of that app.
"""
# Load graph
loader = MigrationLoader(connection)
@ -1074,4 +1075,4 @@ class AutodetectorTests(TestCase):
self.assertOperationTypes(changes, 'otherapp', 0, ["CreateModel"])
self.assertOperationAttributes(changes, 'otherapp', 0, 0, name="Book")
# Right dependencies?
self.assertEqual(changes['otherapp'][0].dependencies, [("migrations", "__latest__")])
self.assertEqual(changes['otherapp'][0].dependencies, [("migrations", "0002_second")])