summaryrefslogtreecommitdiff
path: root/tests/schema
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2018-08-05 21:06:52 -0400
committerTim Graham <timograham@gmail.com>2018-11-13 15:25:44 -0500
commitdba4a634ba999bf376caee193b3378bc0b730bd4 (patch)
treedcf309133def892bc314e69f423e926f6e4dcc73 /tests/schema
parent2f120ac51722a257219a7577759702605cefddf4 (diff)
downloaddjango-dba4a634ba999bf376caee193b3378bc0b730bd4.tar.gz
Refs #29641 -- Refactored database schema constraint creation.
Added a test for constraint names in the database. Updated SQLite introspection to use sqlparse to allow reading the constraint name for table check and unique constraints. Co-authored-by: Ian Foote <python@ian.feete.org>
Diffstat (limited to 'tests/schema')
-rw-r--r--tests/schema/tests.py28
1 files changed, 14 insertions, 14 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index 7f170c863e..6f2b6df765 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -2145,29 +2145,29 @@ class SchemaTests(TransactionTestCase):
self.assertNotIn(constraint_name, self.get_constraints(model._meta.db_table))
constraint_name = "CamelCaseUniqConstraint"
- editor.execute(
- editor.sql_create_unique % {
- "table": editor.quote_name(table),
- "name": editor.quote_name(constraint_name),
- "columns": editor.quote_name(field.column),
- }
- )
+ editor.execute(editor._create_unique_sql(model, [field.column], constraint_name))
if connection.features.uppercases_column_names:
constraint_name = constraint_name.upper()
self.assertIn(constraint_name, self.get_constraints(model._meta.db_table))
editor.alter_field(model, get_field(unique=True), field, strict=True)
self.assertNotIn(constraint_name, self.get_constraints(model._meta.db_table))
- if editor.sql_create_fk:
+ if editor.sql_foreign_key_constraint:
constraint_name = "CamelCaseFKConstraint"
+ fk_sql = editor.sql_foreign_key_constraint % {
+ "column": editor.quote_name(column),
+ "to_table": editor.quote_name(table),
+ "to_column": editor.quote_name(model._meta.auto_field.column),
+ "deferrable": connection.ops.deferrable_sql(),
+ }
+ constraint_sql = editor.sql_constraint % {
+ "name": editor.quote_name(constraint_name),
+ "constraint": fk_sql,
+ }
editor.execute(
- editor.sql_create_fk % {
+ editor.sql_create_constraint % {
"table": editor.quote_name(table),
- "name": editor.quote_name(constraint_name),
- "column": editor.quote_name(column),
- "to_table": editor.quote_name(table),
- "to_column": editor.quote_name(model._meta.auto_field.column),
- "deferrable": connection.ops.deferrable_sql(),
+ "constraint": constraint_sql,
}
)
if connection.features.uppercases_column_names: