Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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.
  • Loading branch information...
commit 13a2b11425f87f674f0273af5fa70c1e4cf327ed 1 parent ba4331f
@akaariai akaariai authored
View
11 tests/regressiontests/indexes/models.py
@@ -1,3 +1,4 @@
+from django.db import connection
from django.db import models
@@ -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)
View
3  tests/regressiontests/indexes/tests.py
@@ -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):
@@ -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)
Please sign in to comment.
Something went wrong with that request. Please try again.