summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndriy Sokolovskiy <sokandpal@yandex.ru>2014-12-16 02:22:28 +0200
committerTim Graham <timograham@gmail.com>2014-12-16 10:48:49 -0500
commit3dbbb8a89ca4beaabd5359fe82e32ed633b15140 (patch)
tree5e2c2d0a89460fb9b28d3f830bbc2846e1af3e1a /tests
parentca013e652f912e279c128d4d2631eaa3b02e4db7 (diff)
Fixed #23983 -- Fixed a crash in migrations when adding order_with_respect_to to non-empty table.
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_operations.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index 8a53d8c6ee..fa2965a3f8 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -1237,10 +1237,19 @@ class OperationTests(OperationTestBase):
self.assertEqual(new_state.models["test_alorwrtto", "rider"].options.get("order_with_respect_to", None), "pony")
# Make sure there's no matching index
self.assertColumnNotExists("test_alorwrtto_rider", "_order")
+ # Create some rows before alteration
+ rendered_state = project_state.render()
+ pony = rendered_state.get_model("test_alorwrtto", "Pony").objects.create(weight=50)
+ rendered_state.get_model("test_alorwrtto", "Rider").objects.create(pony=pony, friend_id=1)
+ rendered_state.get_model("test_alorwrtto", "Rider").objects.create(pony=pony, friend_id=2)
# Test the database alteration
with connection.schema_editor() as editor:
operation.database_forwards("test_alorwrtto", editor, project_state, new_state)
self.assertColumnExists("test_alorwrtto_rider", "_order")
+ # Check for correct value in rows
+ updated_riders = new_state.render().get_model("test_alorwrtto", "Rider").objects.all()
+ self.assertEqual(updated_riders[0]._order, 0)
+ self.assertEqual(updated_riders[1]._order, 0)
# And test reversal
with connection.schema_editor() as editor:
operation.database_backwards("test_alorwrtto", editor, new_state, project_state)