mirror of
https://github.com/django/django.git
synced 2025-03-31 19:46:42 +00:00
Refs #33201 -- Avoided unnecessary queries when renaming models with db_table on SpatiaLite.
This commit is contained in:
parent
6ad2738a8f
commit
3109038992
@ -139,6 +139,11 @@ class SpatialiteSchemaEditor(DatabaseSchemaEditor):
|
|||||||
):
|
):
|
||||||
from django.contrib.gis.db.models import GeometryField
|
from django.contrib.gis.db.models import GeometryField
|
||||||
|
|
||||||
|
if old_db_table == new_db_table or (
|
||||||
|
self.connection.features.ignores_table_name_case
|
||||||
|
and old_db_table.lower() == new_db_table.lower()
|
||||||
|
):
|
||||||
|
return
|
||||||
# Remove geometry-ness from temp table
|
# Remove geometry-ness from temp table
|
||||||
for field in model._meta.local_fields:
|
for field in model._meta.local_fields:
|
||||||
if isinstance(field, GeometryField):
|
if isinstance(field, GeometryField):
|
||||||
|
@ -988,6 +988,15 @@ class OperationTests(OperationTestBase):
|
|||||||
"test_rmwsc_rider", ["pony_id"], ("test_rmwsc_littlehorse", "id")
|
"test_rmwsc_rider", ["pony_id"], ("test_rmwsc_littlehorse", "id")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_rename_model_no_relations_with_db_table_noop(self):
|
||||||
|
app_label = "test_rmwdbtnoop"
|
||||||
|
project_state = self.set_up_test_model(app_label, db_table="my_pony")
|
||||||
|
operation = migrations.RenameModel("Pony", "LittleHorse")
|
||||||
|
new_state = project_state.clone()
|
||||||
|
operation.state_forwards(app_label, new_state)
|
||||||
|
with connection.schema_editor() as editor, self.assertNumQueries(0):
|
||||||
|
operation.database_forwards(app_label, editor, project_state, new_state)
|
||||||
|
|
||||||
def test_rename_model_with_self_referential_m2m(self):
|
def test_rename_model_with_self_referential_m2m(self):
|
||||||
app_label = "test_rename_model_with_self_referential_m2m"
|
app_label = "test_rename_model_with_self_referential_m2m"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user