mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
[3.2.x] Fixed #32453 -- Added introspection of unique constraint field ordering on SQLite.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Backport of 4d99375b46 from master
This commit is contained in:
committed by
Mariusz Felisiak
parent
b89ce413f2
commit
69a585eb87
@@ -6,7 +6,7 @@ from django.test import TransactionTestCase, skipUnlessDBFeature
|
||||
|
||||
from .models import (
|
||||
Article, ArticleReporter, CheckConstraintModel, City, Comment, Country,
|
||||
District, Reporter,
|
||||
District, Reporter, UniqueConstraintConditionModel,
|
||||
)
|
||||
|
||||
|
||||
@@ -221,6 +221,19 @@ class IntrospectionTests(TransactionTestCase):
|
||||
indexes_verified += 1
|
||||
self.assertEqual(indexes_verified, len(expected_columns))
|
||||
|
||||
@skipUnlessDBFeature('supports_index_column_ordering', 'supports_partial_indexes')
|
||||
def test_get_constraints_unique_indexes_orders(self):
|
||||
with connection.cursor() as cursor:
|
||||
constraints = connection.introspection.get_constraints(
|
||||
cursor,
|
||||
UniqueConstraintConditionModel._meta.db_table,
|
||||
)
|
||||
self.assertIn('cond_name_without_color_uniq', constraints)
|
||||
constraint = constraints['cond_name_without_color_uniq']
|
||||
self.assertIs(constraint['unique'], True)
|
||||
self.assertEqual(constraint['columns'], ['name'])
|
||||
self.assertEqual(constraint['orders'], ['ASC'])
|
||||
|
||||
def test_get_constraints(self):
|
||||
def assertDetails(details, cols, primary_key=False, unique=False, index=False, check=False, foreign_key=None):
|
||||
# Different backends have different values for same constraints:
|
||||
|
||||
Reference in New Issue
Block a user