1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

[1.8.x] Updated references to the TEST_* database settings.

They were removed in Django 1.9.

I could leave the reference to TEST_DEPENDENCIES in the 1.2.4 release
notes because the link points to the right location and the name was
accurate at the time.

Backport of 6d1110f from master
This commit is contained in:
Aymeric Augustin
2015-09-05 18:57:05 +02:00
parent 26658ccb0e
commit ce3dd17c2e
3 changed files with 33 additions and 21 deletions

View File

@@ -97,7 +97,9 @@ configuration::
'ENGINE': 'django.db.backends.mysql',
'NAME': 'myproject',
'HOST': 'dbreplica',
'TEST_MIRROR': 'default'
'TEST': {
'MIRROR': 'default',
},
# ... plus some other settings
}
}
@@ -111,8 +113,8 @@ normal activity, any write to ``default`` will appear on ``replica``.
If Django created two independent test databases, this would break any
tests that expected replication to occur. However, the ``replica``
database has been configured as a test mirror (using the
:setting:`TEST_MIRROR` setting), indicating that under testing,
``replica`` should be treated as a mirror of ``default``.
:setting:`MIRROR <TEST_MIRROR>` test setting), indicating that under
testing, ``replica`` should be treated as a mirror of ``default``.
When the test environment is configured, a test version of ``replica``
will *not* be created. Instead the connection to ``replica``
@@ -132,41 +134,51 @@ However, no guarantees are made on the creation order of any other
databases in your test setup.
If your database configuration requires a specific creation order, you
can specify the dependencies that exist using the
:setting:`TEST_DEPENDENCIES` setting. Consider the following
(simplified) example database configuration::
can specify the dependencies that exist using the :setting:`DEPENDENCIES
<TEST_DEPENDENCIES>` test setting. Consider the following (simplified)
example database configuration::
DATABASES = {
'default': {
# ... db settings
'TEST_DEPENDENCIES': ['diamonds']
# ... db settings
'TEST': {
'DEPENDENCIES': ['diamonds'],
},
},
'diamonds': {
# ... db settings
'TEST_DEPENDENCIES': []
... db settings
'TEST': {
'DEPENDENCIES': [],
},
},
'clubs': {
# ... db settings
'TEST_DEPENDENCIES': ['diamonds']
'TEST': {
'DEPENDENCIES': ['diamonds'],
},
},
'spades': {
# ... db settings
'TEST_DEPENDENCIES': ['diamonds','hearts']
'TEST': {
'DEPENDENCIES': ['diamonds', 'hearts'],
},
},
'hearts': {
# ... db settings
'TEST_DEPENDENCIES': ['diamonds','clubs']
'TEST': {
'DEPENDENCIES': ['diamonds', 'clubs'],
},
}
}
Under this configuration, the ``diamonds`` database will be created first,
as it is the only database alias without dependencies. The ``default`` and
``clubs`` alias will be created next (although the order of creation of this
pair is not guaranteed); then ``hearts``; and finally ``spades``.
pair is not guaranteed), then ``hearts``, and finally ``spades``.
If there are any circular dependencies in the
:setting:`TEST_DEPENDENCIES` definition, an ``ImproperlyConfigured``
exception will be raised.
If there are any circular dependencies in the :setting:`DEPENDENCIES
<TEST_DEPENDENCIES>` definition, an
:exc:`~django.core.exceptions.ImproperlyConfigured` exception will be raised.
Advanced features of ``TransactionTestCase``
============================================