summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Bistuer <loic.bistuer@sixmedia.com>2013-09-06 03:51:11 +0700
committerTim Graham <timograham@gmail.com>2013-09-06 08:30:18 -0400
commit82bbb9fe812ac2a575bf1291055093adfb9b8fff (patch)
tree3e8c7cd0a9670f2f3f8085cac9bae28aa6a0de92
parent4d13cc56de46ccfc89e9f1381ba4f194070bbdb7 (diff)
Fixed #21014 -- Fixed gobbled ImportError in MigrationLoader.
-rw-r--r--django/db/migrations/loader.py1
-rw-r--r--tests/migrations/faulty_migrations/import_error/__init__.py1
-rw-r--r--tests/migrations/test_loader.py7
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()