Kaydet (Commit) beefac8a authored tarafından Andrew Godwin's avatar Andrew Godwin

Only create the migration directory once per app

üst 2d903929
...@@ -61,6 +61,7 @@ class Command(BaseCommand): ...@@ -61,6 +61,7 @@ class Command(BaseCommand):
self.stdout.write("No changes detected") self.stdout.write("No changes detected")
return return
directory_created = {}
for app_label, migrations in changes.items(): for app_label, migrations in changes.items():
self.stdout.write(self.style.MIGRATE_HEADING("Migrations for '%s':" % app_label) + "\n") self.stdout.write(self.style.MIGRATE_HEADING("Migrations for '%s':" % app_label) + "\n")
for migration in migrations: for migration in migrations:
...@@ -71,10 +72,13 @@ class Command(BaseCommand): ...@@ -71,10 +72,13 @@ class Command(BaseCommand):
self.stdout.write(" - %s\n" % operation.describe()) self.stdout.write(" - %s\n" % operation.describe())
# Write it # Write it
migrations_directory = os.path.dirname(writer.path) migrations_directory = os.path.dirname(writer.path)
if not directory_created.get(app_label, False):
if not os.path.isdir(migrations_directory): if not os.path.isdir(migrations_directory):
os.mkdir(migrations_directory) os.mkdir(migrations_directory)
init_path = os.path.join(migrations_directory, "__init__.py") init_path = os.path.join(migrations_directory, "__init__.py")
if not os.path.isfile(init_path): if not os.path.isfile(init_path):
open(init_path, "w").close() open(init_path, "w").close()
# We just do this once per app
directory_created[app_label] = True
with open(writer.path, "w") as fh: with open(writer.path, "w") as fh:
fh.write(writer.as_string()) fh.write(writer.as_string())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment