Permalink
Browse files

Only create the migration directory once per app

  • Loading branch information...
1 parent 2d90392 commit beefac8aaeed0bd8c66e8c7fcbfae1c0f8e01f85 @andrewgodwin andrewgodwin committed Aug 21, 2013
Showing with 9 additions and 5 deletions.
  1. +9 −5 django/core/management/commands/makemigrations.py
@@ -61,6 +61,7 @@ def handle(self, *app_labels, **options):
self.stdout.write("No changes detected")
return
+ directory_created = {}
for app_label, migrations in changes.items():
self.stdout.write(self.style.MIGRATE_HEADING("Migrations for '%s':" % app_label) + "\n")
for migration in migrations:
@@ -71,10 +72,13 @@ def handle(self, *app_labels, **options):
self.stdout.write(" - %s\n" % operation.describe())
# Write it
migrations_directory = os.path.dirname(writer.path)
- if not os.path.isdir(migrations_directory):
- os.mkdir(migrations_directory)
- init_path = os.path.join(migrations_directory, "__init__.py")
- if not os.path.isfile(init_path):
- open(init_path, "w").close()
+ if not directory_created.get(app_label, False):
+ if not os.path.isdir(migrations_directory):
+ os.mkdir(migrations_directory)
+ init_path = os.path.join(migrations_directory, "__init__.py")
+ if not os.path.isfile(init_path):
+ open(init_path, "w").close()
+ # We just do this once per app
+ directory_created[app_label] = True
with open(writer.path, "w") as fh:
fh.write(writer.as_string())

0 comments on commit beefac8

Please sign in to comment.