summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Wobrock <david.wobrock@gmail.com>2022-05-26 07:26:33 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-05-26 07:31:24 +0200
commit115a978fceac4c4de2f9fc70ce19001c3f6d6918 (patch)
tree4e4eab0ef1c64b7e4d6ba6e62d5320f1bfa8ec9e
parentce69e34bd646558bb44ea92cecfd98b345a0b3e0 (diff)
Refs #23740 -- Added BaseDatabaseSchemaEditor._unique_constraint_name().
-rw-r--r--django/db/backends/base/schema.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/django/db/backends/base/schema.py b/django/db/backends/base/schema.py
index f2ca8c8df9..3f3ce54c9a 100644
--- a/django/db/backends/base/schema.py
+++ b/django/db/backends/base/schema.py
@@ -1560,16 +1560,13 @@ class BaseDatabaseSchemaEditor:
):
return None
- def create_unique_name(*args, **kwargs):
- return self.quote_name(self._create_index_name(*args, **kwargs))
-
compiler = Query(model, alias_cols=False).get_compiler(
connection=self.connection
)
table = model._meta.db_table
columns = [field.column for field in fields]
if name is None:
- name = IndexName(table, columns, "_uniq", create_unique_name)
+ name = self._unique_constraint_name(table, columns, quote=True)
else:
name = self.quote_name(name)
if condition or include or opclasses or expressions:
@@ -1592,6 +1589,17 @@ class BaseDatabaseSchemaEditor:
include=self._index_include_sql(model, include),
)
+ def _unique_constraint_name(self, table, columns, quote=True):
+ if quote:
+
+ def create_unique_name(*args, **kwargs):
+ return self.quote_name(self._create_index_name(*args, **kwargs))
+
+ else:
+ create_unique_name = self._create_index_name
+
+ return IndexName(table, columns, "_uniq", create_unique_name)
+
def _delete_unique_sql(
self,
model,