[Django] #24934: Can't drop or change unique_together index in MySql

133 views
Skip to first unread message

Django

unread,
Jun 5, 2015, 7:41:04 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index in MySql
----------------------------+--------------------
Reporter: user0007 | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------
Hello,

I'm using Django 1.8.2 and Mysql 5.6. I created model with two fields in
unique_together:


{{{
class Meta:
unique_together = ('user', 'product')
}}}

the table was created sucessfully. Later I removed unique_together:

{{{
class Meta:
pass
}}}

so Django created 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'")
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/24934>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jun 5, 2015, 7:44:37 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index in MySql
----------------------------+--------------------------------------

Reporter: user0007 | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------
Changes (by user0007):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


Old description:

> Hello,
>
> I'm using Django 1.8.2 and Mysql 5.6. I created model with two fields in
> unique_together:
>

> {{{
> class Meta:
> unique_together = ('user', 'product')
> }}}
>
> the table was created sucessfully. Later I removed unique_together:
>
> {{{
> class Meta:
> pass
> }}}
>
> so Django created 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'")
> }}}

New description:

Hello,

I'm using Django 1.8.2 and Mysql 5.6. I created model with two fields in
unique_together:


{{{
class Meta:
unique_together = ('user', 'product')
}}}

the table was created successfully. Later I removed unique_together from
my model:

{{{
class Meta:
pass
}}}

so Django created 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'")
}}}

--

--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:1>

Django

unread,
Jun 5, 2015, 8:19:15 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index in MySql
----------------------------+--------------------------------------

Reporter: user0007 | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------
Description changed by user0007:

Old description:

> Hello,
>
> I'm using Django 1.8.2 and Mysql 5.6. I created model with two fields in
> unique_together:
>

> {{{
> class Meta:
> unique_together = ('user', 'product')
> }}}
>

> the table was created successfully. Later I removed unique_together from
> my model:
>
> {{{

> class Meta:
> pass
> }}}
>
> so Django created 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'")
> }}}

New description:

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'")
}}}

--

--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:2>

Django

unread,
Jun 5, 2015, 8:24:09 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index in MySql
----------------------------+--------------------------------------

Reporter: user0007 | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------
Description changed by user0007:

Old description:

> 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'")
> }}}

New description:

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

--

--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:3>

Django

unread,
Jun 5, 2015, 8:35:33 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index
----------------------------+--------------------------------------

Reporter: user0007 | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------

--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:4>

Django

unread,
Jun 5, 2015, 11:06:10 AM6/5/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index
----------------------------+--------------------------------------
Reporter: user0007 | Owner: nobody
Type: Bug | Status: closed
Component: Migrations | Version: 1.8
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------
Changes (by user0007):

* status: new => closed
* resolution: => fixed


--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:5>

Django

unread,
Jun 13, 2015, 3:32:04 PM6/13/15
to django-...@googlegroups.com
#24934: Can't drop or change unique_together index
----------------------------+--------------------------------------
Reporter: user0007 | Owner: nobody
Type: Bug | Status: closed
Component: Migrations | Version: 1.8
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------------------------

Comment (by timgraham):

Did you resolve the issue? (not sure why the ticket was marked "fixed").
#24972 seems to report the same or similar issue.

--
Ticket URL: <https://code.djangoproject.com/ticket/24934#comment:6>

Reply all
Reply to author
Forward
0 new messages