[Django] #22679: makemigrations generates invalid code for default_permissions = ()

16 views
Skip to first unread message

Django

unread,
May 22, 2014, 5:48:04 AM5/22/14
to django-...@googlegroups.com
#22679: makemigrations generates invalid code for default_permissions = ()
-------------------------+-------------------------------------------------
Reporter: | Owner: nobody
rockallite.wulf@… | Status: new
Type: | Version: 1.7-beta-2
Uncategorized | Keywords: makemigrations, default_permissions
Component: | Has patch: 0
Migrations | UI/UX: 0
Severity: Release |
blocker |
Triage Stage: |
Unreviewed |
Easy pickings: 0 |
-------------------------+-------------------------------------------------
This actually happens in Django 1.7b4.

When I define a Model with meta info like this:

{{{
class Foo(models.Model):
# ...
class Meta:
default_permissions = ()
}}}

The {{{./manage.py makemigrations}}} command generates a migration file
like this:

{{{
options={
# ...
'default_permissions': (,),
}
}}}

...which causes SynaxError on migration.

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

Django

unread,
May 22, 2014, 7:32:24 AM5/22/14
to django-...@googlegroups.com
#22679: makemigrations generates invalid code for default_permissions = ()
-------------------------------------+-------------------------------------
Reporter: rockallite.wulf@… | Owner: mardini
Type: Bug | Status: assigned
Component: Migrations | Version: master
Severity: Release blocker | Resolution:
Keywords: makemigrations, | Triage Stage: Accepted
default_permissions | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by mardini):

* status: new => assigned
* needs_better_patch: => 0
* needs_tests: => 0
* version: 1.7-beta-2 => master
* owner: nobody => mardini
* needs_docs: => 0
* has_patch: 0 => 1
* type: Uncategorized => Bug
* stage: Unreviewed => Accepted


Comment:

I reproduced. The generated migration had a syntax error.
PR with regression test: https://github.com/django/django/pull/2700

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

Django

unread,
May 22, 2014, 10:21:40 AM5/22/14
to django-...@googlegroups.com
#22679: makemigrations generates invalid code for default_permissions = ()
-------------------------------------+-------------------------------------
Reporter: rockallite.wulf@… | Owner: mardini
Type: Bug | Status: closed
Component: Migrations | Version: master
Severity: Release blocker | Resolution: fixed

Keywords: makemigrations, | Triage Stage: Accepted
default_permissions | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by Baptiste Mispelon <bmispelon@…>):

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


Comment:

In [changeset:"ad994a3c5b5911a12a5e2f2a8d06c036be1b8ad8"]:
{{{
#!CommitTicketReference repository=""
revision="ad994a3c5b5911a12a5e2f2a8d06c036be1b8ad8"
Fixed #22679 -- Fixed empty tuple serialization in MigrationWriter.

Thanks rockallite.wulf for the report.
}}}

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

Django

unread,
May 22, 2014, 10:21:52 AM5/22/14
to django-...@googlegroups.com
#22679: makemigrations generates invalid code for default_permissions = ()
-------------------------------------+-------------------------------------
Reporter: rockallite.wulf@… | Owner: mardini
Type: Bug | Status: closed
Component: Migrations | Version: master
Severity: Release blocker | Resolution: fixed
Keywords: makemigrations, | Triage Stage: Accepted
default_permissions | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Baptiste Mispelon <bmispelon@…>):

In [changeset:"7d4a51e239bcde34d1614877accb3aa5f5589e0c"]:
{{{
#!CommitTicketReference repository=""
revision="7d4a51e239bcde34d1614877accb3aa5f5589e0c"
[1.7.x] Fixed #22679 -- Fixed empty tuple serialization in
MigrationWriter.

Thanks rockallite.wulf for the report.

Backport of ad994a3c5b5911a12a5e2f2a8d06c036be1b8ad8 from master.
}}}

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

Django

unread,
May 23, 2014, 9:15:41 AM5/23/14
to django-...@googlegroups.com
#22679: makemigrations generates invalid code for default_permissions = ()
-------------------------------------+-------------------------------------
Reporter: rockallite.wulf@… | Owner: mardini
Type: Bug | Status: closed
Component: Migrations | Version: master
Severity: Release blocker | Resolution: fixed
Keywords: makemigrations, | Triage Stage: Accepted
default_permissions | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Rockallite Wulf <rockallite.wulf@…>):

Replying to [comment:3 Baptiste Mispelon <bmispelon@…>]:


> In [changeset:"7d4a51e239bcde34d1614877accb3aa5f5589e0c"]:
> {{{
> #!CommitTicketReference repository=""
revision="7d4a51e239bcde34d1614877accb3aa5f5589e0c"
> [1.7.x] Fixed #22679 -- Fixed empty tuple serialization in
MigrationWriter.
>
> Thanks rockallite.wulf for the report.
>
> Backport of ad994a3c5b5911a12a5e2f2a8d06c036be1b8ad8 from master.
> }}}

Hi. I found something wrong in that commit:

{{{
# From tests/migrations/test_writer.py:134
one_item_tuple = ('a')
}}}

This is wrong. It should be {{{one_item_tuple = ('a',)}}}

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

Reply all
Reply to author
Forward
0 new messages