18

Can anyone please explain me the difference between south migrations and django migrations? What advantage/disadvantage one has over another?

Pransh Tiwari
  • 3,983
  • 1
  • 32
  • 43
  • 2
    There has been no need to use South since migrations were added in Django 1.7. South doesn't work with modern versions of Django - just use Django migrations. – Alasdair Sep 10 '18 at 13:37
  • 3
    Here's your answer - http://south.aeracode.org/. Prior to Django 1.7, there was no built-in support for migrations. That's why South was built and used. – xyres Sep 10 '18 at 13:38
  • Due to some contraints, I have to use Django version 1.4. – Pransh Tiwari Sep 10 '18 at 13:40
  • 1
    @PranshTiwari Then you have no choice but to use South. You can't use Django migrations. This pretty much renders your question moot. – xyres Sep 10 '18 at 13:41
  • It also renders your site horrifically insecure. – Daniel Roseman Sep 10 '18 at 17:57
  • 2
    Not sure why downvote. I found South in 2019 by looking for how to rename models in Django. And via search I landed at https://south.readthedocs.io/en/latest/ rather than @xyres' link. So thanks Pransh for this question, the comments and answer here helped clear things up for me. – texnic Apr 03 '19 at 21:14

1 Answers1

22

South is a third part django app that added support for migrations before a builtin migration solution was introduced in Django 1.7. Unless you're stuck with a long-dead Django version, there's no reason you should use South at all. FWIW, just checking the south project's page should have answered your question:

South has been deprecated.

From Django 1.7 upwards, migrations are built into the core of Django. If you are running a previous version, you can find the repository on BitBucket.

Feature-wide both are quite similar (which is not a big surprise since the new builtin migration system started it's life as the 2.0 branch of South), except the new system works better, specially when you have to merge two branches each having it's own migrations.

bruno desthuilliers
  • 75,974
  • 6
  • 88
  • 118
  • 14
    Amazingly and annoyingly, if you just go to https://south.readthedocs.io/en/latest/, you won't find a single hint to South being deprecated. Stackoverflow's search found South for me, while I've never used Django before 1.10. And I first came to a conclusion that South is a sort of more advanced tool than Django's built-in migrations. – texnic Apr 03 '19 at 21:12