summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorHannes Ljungberg <hannes.ljungberg@gmail.com>2021-10-15 22:17:26 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-10-18 09:36:21 +0200
commit00aa3e0b9b8fac8fa5adab47249790d2ee2f767e (patch)
tree5d75c4822d5095e8bbda2ca99a01c9aad06e92ac /django
parentf5fd03aebe54f28a62436ef81aeed50fef594619 (diff)
[4.0.x] Fixed #33194 -- Fixed migrations when altering a field with functional indexes/unique constraints on SQLite.
This adjusts Expressions.rename_table_references() to only update alias when needed. Regression in 83fcfc9ec8610540948815e127101f1206562ead. Co-authored-by: Simon Charette <charettes@users.noreply.github.com> Backport of 86971c40909430a798e4e55b140004c4b1fb02ff from main
Diffstat (limited to 'django')
-rw-r--r--django/db/backends/ddl_references.py6
1 files changed, 1 insertions, 5 deletions
diff --git a/django/db/backends/ddl_references.py b/django/db/backends/ddl_references.py
index c06386a2fa..f798fd648b 100644
--- a/django/db/backends/ddl_references.py
+++ b/django/db/backends/ddl_references.py
@@ -212,11 +212,7 @@ class Expressions(TableColumns):
def rename_table_references(self, old_table, new_table):
if self.table != old_table:
return
- expressions = deepcopy(self.expressions)
- self.columns = []
- for col in self.compiler.query._gen_cols([expressions]):
- col.alias = new_table
- self.expressions = expressions
+ self.expressions = self.expressions.relabeled_clone({old_table: new_table})
super().rename_table_references(old_table, new_table)
def rename_column_references(self, table, old_column, new_column):