title: django migrations - workflow with multiple dev branches
body: <p>I'm curious how other django developers manage multiple code branches (in git for instance) with migrations.</p>
  
  <p>My problem is as follows:
  - we have multiple feature branches in git, some of them with django migrations (some of them altering fields, or removing them altogether)
  - when I switch branches (with <code>git checkout some_other_branch</code>) the database does not reflect always the new code, so I run into "random" errors, where a db table column does not exist anymore, etc...</p>
  
  <p>Right now, I simply drop the db and recreate it, but it means I have to recreate a bunch of dummy data to restart work. I can use fixtures, but it requires keeping track of what data goes where, it's a bit of a hassle.</p>
  
  <p>Is there a good/clean way of dealing with this use-case? I'm thinking a <code>post-checkout</code> git hook script could run the necessary migrations, but I don't even know if migration rollbacks are at all possible.</p>