diff options
| author | Loic Bistuer <loic.bistuer@sixmedia.com> | 2013-09-06 03:51:11 +0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-09-06 08:30:18 -0400 |
| commit | 82bbb9fe812ac2a575bf1291055093adfb9b8fff (patch) | |
| tree | 3e8c7cd0a9670f2f3f8085cac9bae28aa6a0de92 | |
| parent | 4d13cc56de46ccfc89e9f1381ba4f194070bbdb7 (diff) | |
Fixed #21014 -- Fixed gobbled ImportError in MigrationLoader.
| -rw-r--r-- | django/db/migrations/loader.py | 1 | ||||
| -rw-r--r-- | tests/migrations/faulty_migrations/import_error/__init__.py | 1 | ||||
| -rw-r--r-- | tests/migrations/test_loader.py | 7 |
3 files changed, 9 insertions, 0 deletions
diff --git a/django/db/migrations/loader.py b/django/db/migrations/loader.py index 6ad6959787..f3617764ef 100644 --- a/django/db/migrations/loader.py +++ b/django/db/migrations/loader.py @@ -63,6 +63,7 @@ class MigrationLoader(object): if "No module named" in str(e) and "migrations" in str(e): self.unmigrated_apps.add(app_label) continue + raise self.migrated_apps.add(app_label) directory = os.path.dirname(module.__file__) # Scan for .py[c|o] files diff --git a/tests/migrations/faulty_migrations/import_error/__init__.py b/tests/migrations/faulty_migrations/import_error/__init__.py new file mode 100644 index 0000000000..616c209dad --- /dev/null +++ b/tests/migrations/faulty_migrations/import_error/__init__.py @@ -0,0 +1 @@ +import fake_python_module diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py index b9ad9726ae..6810089603 100644 --- a/tests/migrations/test_loader.py +++ b/tests/migrations/test_loader.py @@ -77,3 +77,10 @@ class LoaderTests(TestCase): migration_loader.get_migration_by_prefix("migrations", "0") with self.assertRaises(KeyError): migration_loader.get_migration_by_prefix("migrations", "blarg") + + def test_load_import_error(self): + migration_loader = MigrationLoader(connection) + + with override_settings(MIGRATION_MODULES={"migrations": "migrations.faulty_migrations.import_error"}): + with self.assertRaises(ImportError): + migration_loader.load_disk() |
