Commit d529d413 authored by Anssi Kääriäinen's avatar Anssi Kääriäinen
Browse files

[1.5.x] Avoided having an indexed TextField installed unless using postgres

An index on TextField results in a warning message when running tests
on MySQL or SQLite, and the test using the TextField was PostgreSQL
only in any case.

Backpatch of 13a2b114
parent 2d74a5fd
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
from django.db import connection
from django.db import models


@@ -11,6 +12,8 @@ class Article(models.Model):
        ]


# 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)
+2 −1
Original line number Diff line number Diff line
@@ -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)