mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	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:
		| @@ -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`). | ||||
|   | ||||
							
								
								
									
										15
									
								
								tests/migrations/test_questioner.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/migrations/test_questioner.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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')) | ||||
		Reference in New Issue
	
	Block a user