title: Programmatically check whether there are django south migrations that need to be deployed
body: <p>My deployment strategy looks like this (using Fabric):</p>
  
  <ol>
  <li>create a new virtualenv</li>
  <li>deploy new code in new virtualenv</li>
  <li>show a maintenance page</li>
  <li>copy the current db to new db</li>
  <li>migrate new db</li>
  <li>point new code to new db</li>
  <li>symlink current virtualenv to new venv</li>
  <li>restart services</li>
  <li>remove maintenance page</li>
  </ol>
  
  <p>I want to iterate fast. Now, most of the code changes do not contain migrations. Also, the db is growing, so there is much overhead created by copying the database everytime I deploy a (mostly small) change. To avoid copying the database I want to check whether there are migrations that need to be deployed (prior to step 4). If there are no migrations, I can go straight from step 2 to step 7. If there are, I will follow all the steps. For this, I need to check programmatically whether there are migrations that need to be deployed. How can I do this?</p>