Prevent South from running concurrently
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Let's prevent South from running two migrations at the same time!

The problem

A common situation in continuous integration/deployment scenarios is having production code pushed to a number of servers at once without any type of "master" controller. All servers are treated equally. In this case when mixed with South, migrations can get crazy. Only one migration instance can run at one time. This lets you do that.


$ pip install django-locking-south

Add locking_south to your INSTALLED_APPS:


Cache must be configured inside your Django app and be accessible by all servers for locking to actually work.


$ ./ safe_migrate

Note: All options and args for South are passed through and valid for safe_migrate.