Fixed #24427 -- Stopped writing migration files in dry run mode when merging.

Also added display of migration to stdout when verbosity=3.
This commit is contained in:
John Giannelos 2015-03-03 00:13:14 +02:00 committed by Tim Graham
parent 818182b514
commit 8758a63ddb
3 changed files with 62 additions and 4 deletions

View file

@ -239,7 +239,18 @@ class Command(BaseCommand):
})
new_migration = subclass("%04i_merge" % (biggest_number + 1), app_label)
writer = MigrationWriter(new_migration)
with open(writer.path, "wb") as fh:
fh.write(writer.as_string())
if self.verbosity > 0:
self.stdout.write("\nCreated new merge migration %s" % writer.path)
if not self.dry_run:
# Write the merge migrations file to the disk
with open(writer.path, "wb") as fh:
fh.write(writer.as_string())
if self.verbosity > 0:
self.stdout.write("\nCreated new merge migration %s" % writer.path)
elif self.verbosity == 3:
# Alternatively, makemigrations --merge --dry-run --verbosity 3
# will output the merge migrations to stdout rather than saving
# the file to the disk.
self.stdout.write(self.style.MIGRATE_HEADING(
"Full merge migrations file '%s':" % writer.filename) + "\n"
)
self.stdout.write("%s\n" % writer.as_string())