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 how and why to get started quickly with South.
Using Django and Python is, as usual, a joy. Installing South should mostly be as easy as typing:
pip install South
Then, simply add south
to the list of django:INSTALLED_APPS
in your settings.py
file.
For a very short crash course:
- Instead of the initial
manage.py syncdb
command, simply runmanage.py schemamigration --initial <app name>
. This will create a new migrations package, along with a new migration file (in the form of a python script). - Run the migration using
manage.py migrate
. Your tables have now been created in the database, Django will work as usual. - Whenever you make changes to your models.py file, run
manage.py schemamigration --auto <app name>
to create a new migration file, thenmanage.py migrate
to apply the newly created migration.
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.