From ed8919cbcb83302ea71572f5c7d5e6796bb21afa Mon Sep 17 00:00:00 2001 From: Florian Apolloner Date: Tue, 15 Oct 2013 11:57:30 +0200 Subject: [PATCH] Handle Apps with South migrations as unmigrated apps. --- django/db/migrations/loader.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/django/db/migrations/loader.py b/django/db/migrations/loader.py index 2a20e37ff1..846f0b8eaf 100644 --- a/django/db/migrations/loader.py +++ b/django/db/migrations/loader.py @@ -81,20 +81,25 @@ class MigrationLoader(object): if import_name[0] not in "_.~": migration_names.add(import_name) # Load them + south_style_migrations = False for migration_name in migration_names: try: migration_module = import_module("%s.%s" % (module_name, migration_name)) except ImportError as e: # Ignore South import errors, as we're triggering them if "south" in str(e).lower(): - continue + south_style_migrations = True + break raise if not hasattr(migration_module, "Migration"): raise BadMigrationError("Migration %s in app %s has no Migration class" % (migration_name, app_label)) # Ignore South-style migrations if hasattr(migration_module.Migration, "forwards"): - continue + south_style_migrations = True + break self.disk_migrations[app_label, migration_name] = migration_module.Migration(migration_name, app_label) + if south_style_migrations: + self.unmigrated_apps.add(app_label) def get_migration_by_prefix(self, app_label, name_prefix): "Returns the migration(s) which match the given app label and name _prefix_"