diff --git a/tests/regressiontests/indexes/models.py b/tests/regressiontests/indexes/models.py index 47ba5896a8..4ab74d25bd 100644 --- a/tests/regressiontests/indexes/models.py +++ b/tests/regressiontests/indexes/models.py @@ -1,3 +1,4 @@ +from django.db import connection from django.db import models @@ -11,7 +12,9 @@ class Article(models.Model): ] -class IndexedArticle(models.Model): - headline = models.CharField(max_length=100, db_index=True) - body = models.TextField(db_index=True) - slug = models.CharField(max_length=40, unique=True, db_index=True) +# Indexing a TextField on Oracle or MySQL results in index creation error. +if connection.vendor == 'postgresql': + class IndexedArticle(models.Model): + headline = models.CharField(max_length=100, db_index=True) + body = models.TextField(db_index=True) + slug = models.CharField(max_length=40, unique=True, db_index=True) diff --git a/tests/regressiontests/indexes/tests.py b/tests/regressiontests/indexes/tests.py index f3a32a44bb..672e35d286 100644 --- a/tests/regressiontests/indexes/tests.py +++ b/tests/regressiontests/indexes/tests.py @@ -3,7 +3,7 @@ from django.db import connections, DEFAULT_DB_ALIAS from django.test import TestCase from django.utils.unittest import skipUnless -from .models import Article, IndexedArticle +from .models import Article class IndexesTests(TestCase): @@ -16,6 +16,7 @@ class IndexesTests(TestCase): "This is a postgresql-specific issue") def test_postgresql_text_indexes(self): """Test creation of PostgreSQL-specific text indexes (#12234)""" + from .models import IndexedArticle connection = connections[DEFAULT_DB_ALIAS] index_sql = connection.creation.sql_indexes_for_model(IndexedArticle, no_style()) self.assertEqual(len(index_sql), 5)