title: Hot deploy on Heroku with no downtime
body: <p>A bad side of pushing to Heroku is that I must push the code (and the server restarts automatically) before running my db migrations.</p>
  
  <p>This can obviously cause some 500 errors on users navigating the website having the new code without the new tables/attributes: the solution proposed by Heroku is to use the maintenance mode, but I want a way with no downside letting my webapp running everytime!</p>
  
  <p>Is there a way? For example with Capistrano: </p>
  
  <ul>
  <li>I prepare the code to deploy in a new dir</li>
  <li>I run (backward) migrations and the old code continue to work perfectly</li>
  <li>I swith mongrel instance to the new dir and restart the server</li>
  </ul>
  
  <p>...and I have no downtime!</p>