Opened 9 years ago
Last modified 9 years ago
#24934 closed Bug
Can't drop or change unique_together index in MySql — at Version 3
Reported by: | user0007 | Owned by: | nobody |
---|---|---|---|
Component: | Migrations | Version: | 1.8 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Hello,
I'm using Django 1.8.2 and Mysql 5.6. I created model with two fields in unique_together:
user = models.ForeignKey(User) product = models.ForeignKey(Product) class Meta: unique_together = ('user', 'product')
the table was created successfully with following indexes:
PRIMARY | 1 | id myapp_mymodel_user_id_16c33dde7f7257bb_uniq | 1 | user_id myapp_mymodel_user_id_16c33dde7f7257bb_uniq | 2 | product_id myapp_mymodel_1ba366c5 | 1 | user_id myapp_mymodel_9bea82de | 1 | product_id
Later I removed unique_together from my model:
class Meta: pass
so Django generated a migration:
operations = [ migrations.AlterUniqueTogether( name='mymodel', unique_together=set([]), ), ]
but when i try to apply this migrattion I have got an error:
django.db.utils.OperationalError: (1061, "Duplicate key name 'myapp_mymodel_1ba366c5'")
Django is trying to create this index, instead of removed them.
The same situation is when I try to add third field to my unique_together list:
class Meta: unique_together = ('user', 'product', 'category')
django.db.utils.OperationalError: (1061, "Duplicate key name 'myapp_mymodel_1ba366c5'")
PS. The table was created using Django 1.7.X but changes was made using Django 1.8.2
Change History (3)
comment:1 by , 9 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
Description: | modified (diff) |
---|
comment:3 by , 9 years ago
Description: | modified (diff) |
---|