Herokuのrake db:migrateで already exists

マイグレーションファイルを追加したので、Herokuにmigrateする必要が出ました。

開発中なので、たまには一回全消しして改めてmigrateしてみようと思いました。

heroku run rake db:drop
heroku run rake db:migrate


これでいけるつもりでしたが、

PG::Error: ERROR:  relation "xxxxxxx(Table名)" already exists

となりました。


これで解決しました。

heroku run rake db:reset
heroku run rake db:migrate


dropとresetの違いが良くわかってないので確認。

drop: createの逆。
reset: dropして、schema.rbからcreateして復帰させる。


つまりあれか。createしないといけないのか。


RubyMineではしてないな。どっかで勝手にcreateが走ってるのかな・・・。



Rakeタスクの確認にはこちらを参考にさせてもらいました。