[Solved]-What is the difference between syncdb and migrate?


The command migrate belongs to an application called south (http://south.aeracode.org/).

From the website:

This is South, intelligent schema and data migrations for ​Django projects.

Prior to Django==1.7 you had to install a third party application in order to perform database migrations.

Please see documentation at readthedocs


The migrate command is new in the upcoming Django 1.7, which hasn’t been released yet.

For earlier versions you can use syncdb, or the external app South.

When you’re reading the documentation, use the Documentation version switcher to select the correct version.

For example, the current 1.6 Tutorial uses syncdb, but the dev tutorial (written for the upcoming 1.7) uses migrate.


It depends what version of the documentation you are reading. migrate is the command from South which up until the latest (currently development, or dev) version of django was a separate app. It’s finally getting integrated into Django (basically every django project uses it anyway as a matter of course, so it is well worth reading up on).

In the bottom right of the django documentation page there is a selector where you can switch between different versions of Django, so if you’re looking for information for your project it is a good idea to change to the version of Django you’re currently using.


Leave a comment