diff options
| author | David Wobrock <david.wobrock@gmail.com> | 2023-12-22 09:49:56 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-12-22 12:47:17 +0100 |
| commit | 70456610694d24d07d76c64fd3bc40f664be51ea (patch) | |
| tree | 2aaafa784b7e0577930c87e19c136af7cd6b7dd4 /tests | |
| parent | 6c08dba5176606e8a62dd108bb6c9467d678d2f4 (diff) | |
Fixed #35022 -- Fixed RenameIndex() crash on unnamed indexes if exists unique constraint on the same fields.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_operations.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py index 7643111c34..2d9d3a38f0 100644 --- a/tests/migrations/test_operations.py +++ b/tests/migrations/test_operations.py @@ -3626,6 +3626,26 @@ class OperationTests(OperationTestBase): with self.assertRaisesMessage(ValueError, msg): operation.database_forwards(app_label, editor, project_state, new_state) + @skipUnlessDBFeature("allows_multiple_constraints_on_same_fields") + def test_rename_index_unnamed_index_with_unique_index(self): + app_label = "test_rninuniwui" + project_state = self.set_up_test_model( + app_label, + multicol_index=True, + unique_together=True, + ) + table_name = app_label + "_pony" + self.assertIndexNotExists(table_name, "new_pony_test_idx") + operation = migrations.RenameIndex( + "Pony", new_name="new_pony_test_idx", old_fields=["pink", "weight"] + ) + new_state = project_state.clone() + operation.state_forwards(app_label, new_state) + # Rename index. + with connection.schema_editor() as editor: + operation.database_forwards(app_label, editor, project_state, new_state) + self.assertIndexNameExists(table_name, "new_pony_test_idx") + def test_add_index_state_forwards(self): project_state = self.set_up_test_model("test_adinsf") index = models.Index(fields=["pink"], name="test_adinsf_pony_pink_idx") |
