#24260: Add migration support for logical field renames ----------------------------+-------------------- Reporter: pennersr | Owner: nobody Type: Bug | Status: new Component: Migrations | Version: 1.7 Severity: Normal | Keywords: Triage Stage: Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 ----------------------------+-------------------- Suppose you have a legacy model, defined like this:
{{{ class Foo(models.Model): foo_id = models.AutoField(primary_key=True) }}} Now, I would like to clean this up, into: {{{ class Foo(models.Model): id = models.AutoField(primary_key=True, db_column='foo_id') }}} This is only a logical name change, without any impact on the database. Yet, there seems to be no way to convince `makemigrations` that nothing needs to happen. Whatever I do, it will always complain, or worse, attempt to remove the `foo_id` altogether: {{{ operations = [ migrations.RemoveField( model_name='foo', name='foo_id', ), migrations.AddField( model_name='foo', name='id', field=models.AutoField(default=0, serialize=False, primary_key=True, db_column=b'foo_id'), preserve_default=False, ), ] }}} Using South you could work around this by having empty forwards/backwards methods. It would be nice if Django migrations offered a way out as well. -- Ticket URL: <https://code.djangoproject.com/ticket/24260> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/051.3f4ea051e2e067fc2338590eb85a5b92%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.