Wednesday, October 22, 2014

django 1.7 migrations: changes detected while nothing has changed ?

Hi,

Does anybody know how are changes detected by the ```makemigrations``` command in django 1.7?
It seems that I have a bug. The original post is on stackoverflow but no one has replied so I am trying here.


I have the issue that it always tells me there are changes for one of my field whereas there are not. When I run the command, it just writes the same migration file over and over with no changes.

The field is a custom field on which I implemented the deconstruct method and have some parameters that are objects so I used the deconstructible decorator.

I created a project on github that replicates the issue: https://github.com/YAmikep/django-testmigrations

What did I do wrong? Is this a bug?


Here is what I ran:

    /projects/testmigrations$ python manage.py makemigrations app1
    Migrations for 'app1':
      0001_initial.py:
        - Create model ModelA
    /projects/testmigrations$ python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, contenttypes, auth, app1, sessions
    Running migrations:
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying app1.0001_initial... OK
      Applying sessions.0001_initial... OK
    /projects/testmigrations$ python manage.py makemigrations
    Migrations for 'app1':
      0002_auto_20141014_2123.py:
        - Alter field field1 on modela
    /projects/testmigrations$ python manage.py makemigrations
    Migrations for 'app1':
      0003_auto_20141014_2123.py:
        - Alter field field1 on modela


The migration files 0002_auto_20141014_2123.py and 0003_auto_20141014_2123.py contain the exact same operations:

    operations = [
        migrations.AlterField(
            model_name='modela',
            name='field1',
            field=app1.models.CustomField(max_length=50, value_manager=app1.models.ValueManager(values=[app1.models.Value(val=1), app1.models.Value(val=2)])),
        ),
    ]


Thanks
Mike

--
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/bd651fde-425d-4493-85bf-2a1e17ad5765%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment