diff options
| author | David Wobrock <david.wobrock@gmail.com> | 2022-05-26 07:26:33 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-05-26 07:31:24 +0200 |
| commit | 115a978fceac4c4de2f9fc70ce19001c3f6d6918 (patch) | |
| tree | 4e4eab0ef1c64b7e4d6ba6e62d5320f1bfa8ec9e | |
| parent | ce69e34bd646558bb44ea92cecfd98b345a0b3e0 (diff) | |
Refs #23740 -- Added BaseDatabaseSchemaEditor._unique_constraint_name().
| -rw-r--r-- | django/db/backends/base/schema.py | 16 |
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, |
