diff options
| author | Simon Charette <charette.s@gmail.com> | 2017-11-11 19:17:20 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-11-15 07:58:36 -0500 |
| commit | 0696edbc6a724ceaba86a977b6d21e57647cb2ac (patch) | |
| tree | f0e268d7a58d7d63e0e06b8cd867290a8ff9fe7c /tests/schema | |
| parent | 022aebc55049075e0852dc7b0ce01ea085fe5dcb (diff) | |
[2.0.x] Fixed #28792 -- Fixed index name truncation of namespaced tables.
Refs #27458, #27843.
Thanks Tim and Mariusz for the review.
Backport of ee85ef8315db839e5723dea19d8b971420a2ebb4 from master
Diffstat (limited to 'tests/schema')
| -rw-r--r-- | tests/schema/tests.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py index e7f47865d4..e40dd117ff 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -2372,6 +2372,21 @@ class SchemaTests(TransactionTestCase): cast_function=lambda x: x.time(), ) + def test_namespaced_db_table_create_index_name(self): + """ + Table names are stripped of their namespace/schema before being used to + generate index names. + """ + with connection.schema_editor() as editor: + max_name_length = connection.ops.max_name_length() or 200 + namespace = 'n' * max_name_length + table_name = 't' * max_name_length + namespaced_table_name = '"%s"."%s"' % (namespace, table_name) + self.assertEqual( + editor._create_index_name(table_name, []), + editor._create_index_name(namespaced_table_name, []), + ) + @unittest.skipUnless(connection.vendor == 'oracle', 'Oracle specific db_table syntax') def test_creation_with_db_table_double_quotes(self): oracle_user = connection.creation._test_database_user() |
