Friday, December 26, 2014

Re: makemigrate adds multiple migrations.AddField for same model (django 1.7.1)

Ohh, I see. Yes, this looks like a possible spot for optimization. I wouldn't really call it a "bug", but a "cleanup/optimization". You could probably open a ticket about it.

On Tuesday, December 23, 2014 5:04:55 AM UTC-6, pjotr wrote:
Sorry, all the ALTER statements are identical except the FIELDNAME. It adds 6 new fields.

On Tuesday, December 23, 2014 4:46:42 AM UTC+1, Collin Anderson wrote:
Hi,

You're just using one database?

Are all 6 ALTER statements identical?

Collin

On Sunday, December 21, 2014 5:27:06 PM UTC-6, pjotr wrote:
Just realized the subject was wrong, it should be makemigrations , not makemigrate

On Sunday, December 21, 2014 8:36:29 PM UTC+1, pjotr wrote:
Hi,

I have a django model that I just added six new fields to. I ran makemigrations and after that noticed when we ran our rehearsal upgrade with dump of the production database that things took longer than we expected, and checked the processlist. We saw that there were six alter table statements that was executed after each other, each taking around 15 minutes to run.

My expectations were that the migration framework would optimise this and only execute one alter table statement. But obviously it was not. Or is there a bug? :)

Are there anyway to fix this, without having to change the migration and perform the alter table statement with pure SQL?

DB: MySQL
Django 1.7.1

The migrations generated were six of these (only showing one to reduce post size):

migrations.AddField(
model_name='mymodel',
name='field_a',
field=models.BigIntegerField(help_text=b'Blablabla', null=True, db_index=True),
preserve_default=True,
),

Regards, Peter Lauri

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/753a4369-8305-4910-97ac-6deb8719603c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment