はじめに
ローカル環境でマイグレーションファイルに変更を加える際、 rake db:migrate:reset
で破壊、そして創造を行ってきた。
しかしいざデプロイし、本番環境で動作確認しようとしたところエラー発生。
そのエラーとは、上記のコマンドで変更したカラムが本番環境のデータベースに反映されていないとのこと。
解決方法はローカルと同じようにリセットかけた後、再構築のはず・・・。だが、本番環境のデータベースをリセットすることはできないということが調べた結果分かった。
ならば、擬似的にリセットするだけだ。
コマンド
[ec2-user@******* current]$ RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
どうやら、このドロップの前にDISABLE_DATABASE_ENVIRONMENT_CHECK=1
を追記するとリセットのようなものになるらしい。
[ec2-user@******* current]$ rake db:create RAILS_ENV=production
[ec2-user@******* current]$ rake db:migrate RAILS_ENV=production
[ec2-user@******* current]$ rake db:seed RAILS_ENV=production
その後上記のコマンドを叩き、無事反映させることができた。