ステージング環境としてherokuを利用している場合、開発の都合などにより
順番が前後して、リリースタイミングが後になるものが先にステージングにデプロイされることがあります。
アプリケーションコードのみの変更であれば、あまり問題にならないのですが、
migrationを含むブランチだった場合、migrationが進んだことによって、前のバージョンのコードが正しく動作しないといったことも発生してきます。
postgres
残念ながら、herokuではdb:resetがサポートされていません。
なので、標準のPostgreSQLを使用している場合は、次のようにして
DBをリセットしてからmigrateをやりなおすことで、DBを再構築することができます。
heroku pg:reset DATABASE_URL
mysql
しかし、MySQL(addonのclearDB)を利用している場合、pgコマンドを使うことはできません。
この場合はバージョンを指定してmigrateを実行することで戻すことができます。
heroku run rake db:migrate VERSION=20141106224945