diff options
| author | Andrew Godwin <andrew@aeracode.org> | 2013-12-11 13:23:07 +0000 |
|---|---|---|
| committer | Andrew Godwin <andrew@aeracode.org> | 2013-12-11 13:23:07 +0000 |
| commit | cee4fe73071b469edf118bec3a080ffca906d323 (patch) | |
| tree | 5247d9bb94a51b8dbf2312b04f0f5e4a2cba1e28 | |
| parent | 248fdb1110abefbdc14e3464c556b8a22abe4edc (diff) | |
Better default name for migrations we can't give nice names to
| -rw-r--r-- | django/db/migrations/autodetector.py | 8 |
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): |
