summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2013-12-11 13:23:07 +0000
committerAndrew Godwin <andrew@aeracode.org>2013-12-11 13:23:07 +0000
commitcee4fe73071b469edf118bec3a080ffca906d323 (patch)
tree5247d9bb94a51b8dbf2312b04f0f5e4a2cba1e28
parent248fdb1110abefbdc14e3464c556b8a22abe4edc (diff)
Better default name for migrations we can't give nice names to
-rw-r--r--django/db/migrations/autodetector.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index 6bec6d56c4..4074366188 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -1,4 +1,5 @@
import re
+import datetime
from django.db.migrations import operations
from django.db.migrations.migration import Migration
@@ -350,8 +351,9 @@ class MigrationAutodetector(object):
def suggest_name(cls, ops):
"""
Given a set of operations, suggests a name for the migration
- they might represent. Names not guaranteed to be unique; they
- must be prefixed by a number or date.
+ they might represent. Names are not guaranteed to be unique,
+ but we put some effort in to the fallback name to avoid VCS conflicts
+ if we can.
"""
if len(ops) == 1:
if isinstance(ops[0], operations.CreateModel):
@@ -364,7 +366,7 @@ class MigrationAutodetector(object):
return "remove_%s_%s" % (ops[0].model_name.lower(), ops[0].name.lower())
elif all(isinstance(o, operations.CreateModel) for o in ops):
return "_".join(sorted(o.name.lower() for o in ops))
- return "auto"
+ return "auto_%s" % datetime.datetime.now().strftime("%Y%m%d_%H%M")
@classmethod
def parse_number(cls, name):