diff options
| author | Tillmann Karras <tilkax@gmail.com> | 2014-11-16 18:42:23 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-11-18 09:20:04 +0100 |
| commit | dfcac7d7f5f1f108ae2c561f0f755f08d75a1c27 (patch) | |
| tree | 220c26fe16960e032ac0b3fa21f5834b7dd4007c /django | |
| parent | 229abe62fa9c269cd8dda19ba62b25714ce0ee15 (diff) | |
[1.7.x] Fixed #23799 -- Made makemigrations respect --no-optimize.
Thanks to yamila-moreno for the idea of a skip message.
Backport of d18810131995dac63f9d89b0beaeadfc935130aa from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/commands/squashmigrations.py | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/django/core/management/commands/squashmigrations.py b/django/core/management/commands/squashmigrations.py index ece5acb69e..2b3aa412ca 100644 --- a/django/core/management/commands/squashmigrations.py +++ b/django/core/management/commands/squashmigrations.py @@ -24,7 +24,7 @@ class Command(BaseCommand): usage_str = "Usage: ./manage.py squashmigrations app migration_name" args = "app_label migration_name" - def handle(self, app_label=None, migration_name=None, **options): + def handle(self, app_label=None, migration_name=None, no_optimize=None, **options): self.verbosity = int(options.get('verbosity')) self.interactive = options.get('interactive') @@ -87,17 +87,25 @@ class Command(BaseCommand): elif dependency[0] != smigration.app_label: dependencies.add(dependency) - if self.verbosity > 0: - self.stdout.write(self.style.MIGRATE_HEADING("Optimizing...")) + if no_optimize: + if self.verbosity > 0: + self.stdout.write(self.style.MIGRATE_HEADING("(Skipping optimization.)")) + new_operations = operations + else: + if self.verbosity > 0: + self.stdout.write(self.style.MIGRATE_HEADING("Optimizing...")) - optimizer = MigrationOptimizer() - new_operations = optimizer.optimize(operations, migration.app_label) + optimizer = MigrationOptimizer() + new_operations = optimizer.optimize(operations, migration.app_label) - if self.verbosity > 0: - if len(new_operations) == len(operations): - self.stdout.write(" No optimizations possible.") - else: - self.stdout.write(" Optimized from %s operations to %s operations." % (len(operations), len(new_operations))) + if self.verbosity > 0: + if len(new_operations) == len(operations): + self.stdout.write(" No optimizations possible.") + else: + self.stdout.write( + " Optimized from %s operations to %s operations." % + (len(operations), len(new_operations)) + ) # Work out the value of replaces (any squashed ones we're re-squashing) # need to feed their replaces into ours |
