summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-04-29 20:16:34 +0200
committerGitHub <noreply@github.com>2022-04-29 20:16:34 +0200
commitb34238addceb6b2d40181b625da3b7b7104abfcd (patch)
treebeb7e98040ad1a4ec73d5932a6708e2b39cb9d33 /tests
parent562e3bc09aa094a2ebbd3890fa233d04daafa8c9 (diff)
Fixed #33670 -- Fixed altering primary key on SQLite.
Diffstat (limited to 'tests')
-rw-r--r--tests/schema/tests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index 049e604480..3fe41f5336 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -3584,6 +3584,21 @@ class SchemaTests(TransactionTestCase):
)
self.assertEqual(self.get_primary_key(Tag._meta.db_table), "slug")
+ def test_alter_primary_key_the_same_name(self):
+ with connection.schema_editor() as editor:
+ editor.create_model(Thing)
+
+ old_field = Thing._meta.get_field("when")
+ new_field = CharField(max_length=2, primary_key=True)
+ new_field.set_attributes_from_name("when")
+ new_field.model = Thing
+ with connection.schema_editor() as editor:
+ editor.alter_field(Thing, old_field, new_field, strict=True)
+ self.assertEqual(self.get_primary_key(Thing._meta.db_table), "when")
+ with connection.schema_editor() as editor:
+ editor.alter_field(Thing, new_field, old_field, strict=True)
+ self.assertEqual(self.get_primary_key(Thing._meta.db_table), "when")
+
def test_context_manager_exit(self):
"""
Ensures transaction is correctly closed when an error occurs