108
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

本番環境のdbをリセットする方法

はじめに

ローカル環境でマイグレーションファイルに変更を加える際、 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

その後上記のコマンドを叩き、無事反映させることができた。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
108
Help us understand the problem. What are the problem?