The question was asked, "Doesn't Django have a syncdb command that lets you apply migrations to the database?"
syncdb will only ADD a NEW table. If we want to add/remove/change fields in a table/model, we have to drop and re-create the table for syncdb to work. South is a layer on top of Django that gives us the power to make these fine-grained changes to database tables.
The question was asked, "Doesn't Django have a syncdb command that lets you apply migrations to the database?"
syncdb will only ADD a NEW table. If we want to add/remove/change fields in a table/model, we have to drop and re-create the table for syncdb to work. South is a layer on top of Django that gives us the power to make these fine-grained changes to database tables.
Before trying to use South to do a migration on our db, assuming you have our code, see the bottom half of the following instructions on converting an existing Django app to use South: http://south.readthedocs.org/en/latest/convertinganapp.html#converting-an-app