Skip to content

Commit

Permalink
Avoided having an indexed TextField installed unless using postgres
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
akaariai committed Dec 29, 2012
1 parent ba4331f commit 13a2b11
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
11 changes: 7 additions & 4 deletions tests/regressiontests/indexes/models.py
@@ -1,3 +1,4 @@
from django.db import connection
from django.db import models


Expand All @@ -11,7 +12,9 @@ class Meta:
]


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)
3 changes: 2 additions & 1 deletion tests/regressiontests/indexes/tests.py
Expand Up @@ -3,7 +3,7 @@
from django.test import TestCase
from django.utils.unittest import skipUnless

from .models import Article, IndexedArticle
from .models import Article


class IndexesTests(TestCase):
Expand All @@ -16,6 +16,7 @@ def test_index_together(self):
"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)
Expand Down

0 comments on commit 13a2b11

Please sign in to comment.