[1.10.x] Reverted "Fixed #25388 -- Added an option to allow disabling of migrations during test database creation"

This reverts commit 157d7f1f1d since it
disables migrations all the time, not just during tests.

Backport of 944e66cb1d from master
This commit is contained in:
Tim Graham 2016-07-14 09:10:15 -04:00
parent 3b92272c55
commit 5c56ce7a3f
6 changed files with 5 additions and 38 deletions

View File

@ -51,10 +51,8 @@ class MigrationLoader(object):
if load: if load:
self.build_graph() self.build_graph()
def migrations_module(self, app_label): @classmethod
if (self.connection is not None and def migrations_module(cls, app_label):
not self.connection.settings_dict.get('TEST', {}).get('MIGRATE', True)):
return None
if app_label in settings.MIGRATION_MODULES: if app_label in settings.MIGRATION_MODULES:
return settings.MIGRATION_MODULES[app_label] return settings.MIGRATION_MODULES[app_label]
else: else:

View File

@ -37,7 +37,7 @@ class MigrationQuestioner(object):
app_config = apps.get_app_config(app_label) app_config = apps.get_app_config(app_label)
except LookupError: # It's a fake app. except LookupError: # It's a fake app.
return self.defaults.get("ask_initial", False) return self.defaults.get("ask_initial", False)
migrations_import_path = MigrationLoader(None, load=False).migrations_module(app_config.label) migrations_import_path = MigrationLoader.migrations_module(app_config.label)
if migrations_import_path is None: if migrations_import_path is None:
# It's an application with migrations disabled. # It's an application with migrations disabled.
return self.defaults.get("ask_initial", False) return self.defaults.get("ask_initial", False)

View File

@ -221,7 +221,7 @@ class MigrationWriter(object):
@property @property
def basedir(self): def basedir(self):
migrations_package_name = MigrationLoader(None, load=False).migrations_module(self.migration.app_label) migrations_package_name = MigrationLoader.migrations_module(self.migration.app_label)
if migrations_package_name is None: if migrations_package_name is None:
raise ValueError( raise ValueError(

View File

@ -709,17 +709,6 @@ The creation-order dependencies of the database. See the documentation
on :ref:`controlling the creation order of test databases on :ref:`controlling the creation order of test databases
<topics-testing-creation-dependencies>` for details. <topics-testing-creation-dependencies>` for details.
.. setting:: TEST_MIGRATE
``MIGRATE``
^^^^^^^^^^^
.. versionadded:: 1.10
Default: ``True``
If set to ``False``, Django won't use migrations to create the test database.
.. setting:: TEST_MIRROR .. setting:: TEST_MIRROR
``MIRROR`` ``MIRROR``

View File

@ -480,9 +480,6 @@ Tests
and run selectively with the new :option:`test --tag` and :option:`test and run selectively with the new :option:`test --tag` and :option:`test
--exclude-tag` options. --exclude-tag` options.
* Added the :setting:`DATABASES['TEST']['MIGRATE'] <TEST_MIGRATE>` option to
allow disabling of migrations during test database creation.
* You can now login and use sessions with the test client even if * You can now login and use sessions with the test client even if
:mod:`django.contrib.sessions` is not in :setting:`INSTALLED_APPS`. :mod:`django.contrib.sessions` is not in :setting:`INSTALLED_APPS`.

View File

@ -2,7 +2,7 @@ from __future__ import unicode_literals
from unittest import skipIf from unittest import skipIf
from django.db import ConnectionHandler, connection, connections from django.db import connection, connections
from django.db.migrations.exceptions import ( from django.db.migrations.exceptions import (
AmbiguityError, InconsistentMigrationHistory, NodeNotFoundError, AmbiguityError, InconsistentMigrationHistory, NodeNotFoundError,
) )
@ -204,23 +204,6 @@ class LoaderTests(TestCase):
self.assertEqual(migration_loader.migrated_apps, set()) self.assertEqual(migration_loader.migrated_apps, set())
self.assertEqual(migration_loader.unmigrated_apps, {'migrated_app'}) self.assertEqual(migration_loader.unmigrated_apps, {'migrated_app'})
@override_settings(
INSTALLED_APPS=['migrations.migrations_test_apps.migrated_app'],
)
def test_disable_migrations(self):
connections = ConnectionHandler({
'default': {
'NAME': ':memory:',
'ENGINE': 'django.db.backends.sqlite3',
'TEST': {
'MIGRATE': False,
},
},
})
migration_loader = MigrationLoader(connections['default'])
self.assertEqual(migration_loader.migrated_apps, set())
self.assertEqual(migration_loader.unmigrated_apps, {'migrated_app'})
@override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations_squashed"}) @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations_squashed"})
def test_loading_squashed(self): def test_loading_squashed(self):
"Tests loading a squashed migration" "Tests loading a squashed migration"