From 914eee1a9bee7ae48e6b23ef905ec00bcc241791 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 3 Feb 2024 01:10:41 -0500 Subject: [5.0.x] Refs #35149 -- Made equivalent db_default alterations noops. This allows for an easier transition of preserving the literal nature of non-compilable db_default. Backport of fe1cb62f5c3f87fafc4a6b52fee2ccc6c80c41e2 from main --- tests/schema/tests.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/schema') diff --git a/tests/schema/tests.py b/tests/schema/tests.py index eeaa46af06..b240f26a0b 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -2319,6 +2319,23 @@ class SchemaTests(TransactionTestCase): columns = self.column_classes(Author) self.assertIn("(missing)", columns["description"][1].default) + @isolate_apps("schema") + def test_db_default_equivalent_sql_noop(self): + class Author(Model): + name = TextField(db_default=Value("foo")) + + class Meta: + app_label = "schema" + + with connection.schema_editor() as editor: + editor.create_model(Author) + + new_field = TextField(db_default="foo") + new_field.set_attributes_from_name("name") + new_field.model = Author + with connection.schema_editor() as editor, self.assertNumQueries(0): + editor.alter_field(Author, Author._meta.get_field("name"), new_field) + @skipUnlessDBFeature( "supports_column_check_constraints", "can_introspect_check_constraints" ) -- cgit v1.3