1
0
mirror of https://github.com/django/django.git synced 2025-10-26 15:16:09 +00:00

[1.7.x] Avoided transactional DDL on castrated databases.

Fixed a test failure that appeared after 753a22a6, although the bug
existed before that commit.

Refs #22308 and #23089.

Backport of 0757e0f30d from master
This commit is contained in:
Aymeric Augustin
2014-03-22 11:02:00 +01:00
committed by Tim Graham
parent 5ca82ff71b
commit 2a97db33a7
2 changed files with 9 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ from django.core import management
from django.core.cache import (cache, caches, CacheKeyWarning,
InvalidCacheBackendError, DEFAULT_CACHE_ALIAS)
from django.core.context_processors import csrf
from django.db import connection, router, transaction
from django.db import connection, connections, router, transaction
from django.core.cache.utils import make_template_fragment_key
from django.http import HttpResponse, StreamingHttpResponse
from django.middleware.cache import (FetchFromCacheMiddleware,
@@ -989,11 +989,12 @@ class CreateCacheTableForDBCacheTests(TestCase):
# cache table should be created on 'other'
# Queries:
# 1: check table doesn't already exist
# 2: create savepoint
# 2: create savepoint (if transactional DDL is supported)
# 3: create the table
# 4: create the index
# 5: release savepoint
with self.assertNumQueries(5, using='other'):
# 5: release savepoint (if transactional DDL is supported)
num = 5 if connections['other'].features.can_rollback_ddl else 3
with self.assertNumQueries(num, using='other'):
management.call_command('createcachetable',
database='other',
verbosity=0, interactive=False)