Fixed #26135 -- Adjusted the migration questioner's handling of disabled apps.
This was causing an issue when calling the `migrate` command in a test case with the `available_apps` attribute pointing to an application with migrations disabled using the `MIGRATION_MODULES` setting. Thanks to Tim Graham for the review. Refs #24919
This commit is contained in:
parent
229488c8a1
commit
4dcaa5871b
|
@ -38,6 +38,9 @@ class MigrationQuestioner(object):
|
|||
except LookupError: # It's a fake app.
|
||||
return self.defaults.get("ask_initial", False)
|
||||
migrations_import_path = MigrationLoader.migrations_module(app_config.label)
|
||||
if migrations_import_path is None:
|
||||
# It's an application with migrations disabled.
|
||||
return self.defaults.get("ask_initial", False)
|
||||
try:
|
||||
migrations_module = importlib.import_module(migrations_import_path)
|
||||
except ImportError:
|
||||
|
|
|
@ -71,3 +71,7 @@ Bugfixes
|
|||
|
||||
* Fixed a crash when using a reverse ``OneToOneField`` in
|
||||
``ModelAdmin.readonly_fields`` (:ticket:`26060`).
|
||||
|
||||
* Fixed a crash when calling the ``migrate`` command in a test case with the
|
||||
``available_apps`` attribute pointing to an application with migrations
|
||||
disabled using the ``MIGRATION_MODULES`` setting (:ticket:`26135`).
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from django.db.migrations.questioner import MigrationQuestioner
|
||||
from django.test import SimpleTestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
|
||||
class QuestionerTests(SimpleTestCase):
|
||||
@override_settings(
|
||||
INSTALLED_APPS=['migrations'],
|
||||
MIGRATION_MODULES={'migrations': None},
|
||||
)
|
||||
def test_ask_initial_with_disabled_migrations(self):
|
||||
questioner = MigrationQuestioner()
|
||||
self.assertIs(False, questioner.ask_initial('migrations'))
|
Loading…
Reference in New Issue