summaryrefslogtreecommitdiff
path: root/tests/schema/tests.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-12-05 21:11:20 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2017-12-05 22:34:56 +0100
commit741711f8a28147f9d9d67a7a0aa7783dd238b1ea (patch)
tree00aa7481ad1e8a78bcddfc9eac37e7dbc2f75499 /tests/schema/tests.py
parent73ab7438668a65b1fe8e0df6351096c42a06fa08 (diff)
[2.0.x] Refs #28876 -- Fixed incorrect foreign key constraint name for models with quoted db_table.
Thanks Simon Charette and Tim Graham for the review and Carlos E. C. Leite for the report. Backport of fc48047586a8f92262f55d9d2bfb976325844b23 from master
Diffstat (limited to 'tests/schema/tests.py')
-rw-r--r--tests/schema/tests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index 3d3bc4983f..4781a6bb3c 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -1914,6 +1914,28 @@ class SchemaTests(TransactionTestCase):
with connection.schema_editor() as editor:
editor.add_field(BookWithLongName, new_field)
+ @isolate_apps('schema')
+ @skipUnlessDBFeature('supports_foreign_keys')
+ def test_add_foreign_key_quoted_db_table(self):
+ class Author(Model):
+ class Meta:
+ db_table = '"table_author_double_quoted"'
+ app_label = 'schema'
+
+ class Book(Model):
+ author = ForeignKey(Author, CASCADE)
+
+ class Meta:
+ app_label = 'schema'
+
+ with connection.schema_editor() as editor:
+ editor.create_model(Author)
+ editor.create_model(Book)
+ if connection.vendor == 'mysql':
+ self.assertForeignKeyExists(Book, 'author_id', '"table_author_double_quoted"')
+ else:
+ self.assertForeignKeyExists(Book, 'author_id', 'table_author_double_quoted')
+
def test_add_foreign_object(self):
with connection.schema_editor() as editor:
editor.create_model(BookForeignObj)