An issue with Django 1.8.6 support for south migrations

156 views
Skip to first unread message

David Filipovic

unread,
Nov 4, 2015, 5:59:36 PM11/4/15
to Django developers (Contributions to Django itself)
I have initially created the ticket https://code.djangoproject.com/ticket/25618 which addressed the bug that would occur if south migrations somehow ended up being still present in the migrations module.

According to a report in: https://code.djangoproject.com/ticket/25618#comment:7, this seems to break certain third party apps, in particular:

    * non-upgraded apps that retained south migrations in the migrations module but have not introduced Django migrations. An example of such an app is `django-extensions`

Personally, I think, these apps haven't really supported Django past Django 1.6.x and if they claimed they did, it was a misconception on their part.


However, in order not to break any apps that might have done this, I created a new pull request, that fixes this problem in a way that will not cause this issue.


I wanted to check what people thought here regarding whether this should be incorporated or not?
Should we make those apps fail and have them fully upgrade to support 1.7+, or should we address this and let them silently keep the south migrations?

Andrew Godwin

unread,
Nov 7, 2015, 5:13:39 AM11/7/15
to django-d...@googlegroups.com
I think if the fix is easy, we should continue to support them past 1.7, since we're retaining syncdb support. However, if it's crazy complicated, it's likely not worth it.

Andrew

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/99820cef-4404-40aa-97f8-4d3acace0a3b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Shai Berger

unread,
Nov 7, 2015, 5:29:18 AM11/7/15
to django-d...@googlegroups.com
No, I think we can't do this generically.

If an app ships (South) migrations, we cannot assume that syncdb is an
adequate replacement; the migrations may include data-migrations which create
records the app needs. We could in general do something like, try to verify
that there are no data migrations (this is easier with South migrations than
with Django migrations), or ask the user for confirmation, or add a "ignore-
south-migrations" setting to list the relevant apps, or find some other way for
the user to tell us that syncdb is ok for this app, but IMO that takes us a
step beyond Andrew's "fix is easy".

Shai.
> > <https://groups.google.com/d/msgid/django-developers/99820cef-4404-40aa-
> > 97f8-4d3acace0a3b%40googlegroups.com?utm_medium=email&utm_source=footer>
> > .

Andrew Godwin

unread,
Nov 7, 2015, 5:52:50 AM11/7/15
to django-d...@googlegroups.com
That's an excellent point, Shai - if there are migrations they might be essential to the app functioning. I think in that case we should not have them work on 1.7 and up, and encourage people to send PRs to the apps moving the directory name if it would work with syncdb.

Andrew
Reply all
Reply to author
Forward
0 new messages