Using South with django CMS

South is an incredible piece of software that lets you handle database migrations. This document is by no means meant to replace the excellent documentation available online, but rather to give a quick primer on why you should use South and how to get started quickly.


As always using Django and Python is a joy. Installing South is as simple as typing:

pip install South

Then, simply add south to the list of INSTALLED_APPS in your file.

Basic usage

For a very short crash course:

  1. Instead of the initial syncdb command, simply run schemamigration --initial <app name>. This will create a new migrations package, along with a new migration file (in the form of a python script).
  2. Run the migration using migrate. Your tables will be created in the database and Django will work as usual.
  3. Whenever you make changes to your file, run schemamigration --auto <app name> to create a new migration file. Next run migrate to apply the newly created migration.

More information about South

Obviously, South is a very powerful tool and this simple crash course is only the very tip of the iceberg. Readers are highly encouraged to have a quick glance at the excellent official South documentation.