summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2014-11-16 18:42:23 +0100
committerTim Graham <timograham@gmail.com>2014-11-18 09:20:04 +0100
commitdfcac7d7f5f1f108ae2c561f0f755f08d75a1c27 (patch)
tree220c26fe16960e032ac0b3fa21f5834b7dd4007c /django
parent229abe62fa9c269cd8dda19ba62b25714ce0ee15 (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.py28
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