Refs #32502 -- Avoided table rebuild when adding fields with no default on SQLite.

This commit is contained in:
Mariusz Felisiak 2021-12-10 11:12:04 +01:00
parent 57f0638573
commit 2f73e5406d
2 changed files with 18 additions and 8 deletions

View file

@ -517,6 +517,15 @@ class SchemaTests(TransactionTestCase):
'column': editor.quote_name(new_field.name),
}
self.assertFalse(any(drop_default_sql in query['sql'] for query in ctx.captured_queries))
# Table is not rebuilt.
self.assertIs(any(
'CREATE TABLE' in query['sql']
for query in ctx.captured_queries
), False)
self.assertIs(any(
'DROP TABLE' in query['sql']
for query in ctx.captured_queries
), False)
columns = self.column_classes(Author)
self.assertEqual(columns['age'][0], connection.features.introspected_field_types['IntegerField'])
self.assertTrue(columns['age'][1][6])