3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

本番環境でデータベースが更新されない

Last updated at Posted at 2020-03-13

### 追加したカラムが本番環境で反映されない...

チーム開発デプロイ担当として苦労したエラーの解決方法になります。

開発環境でデータベースに新しいカラムを追加しても
本番環境(EC2)へデプロイしても反映されない(泣)

本番環境でデータベースをマイグレートしてみよう!
これで反映されるだろ!

ターミナル
rake db:migrate RAILS_ENV=production

だが、
コマンドを実行しても反映されない...
どうやって追加した状態の新しいデータベースにするんだ..
と一日悩みました。

####ここで必殺技を伝授させ頂きました!

###本番環境にてもう一度データベースを再生成する!

ターミナル
$ RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

$ rails db:create RAILS_ENV=production

$ rails db:migrate RAILS_ENV=production

を実行すると開発環境にて追加したカラムが反映されます。
これで最新のデータベースになっています!


####*注意↓↓↓
企業に勤めている方は使用しないでください。
drop後に何らかのエラーで顧客情報などが消えてしまう事があるので、
個人で開発やスクールで開発している方向けです。


安全な方法は開発環境で追加したいカラムのマイグレーションファイルを作成し、リモートにPushした後本番環境で

ターミナル
$ rails db:migrate RAILS_ENV=production

を実行すると反映されます!
が、マイグレーションファイルの順番が違ったりすると読み込まない事があるので
簡単に反映させたい場合は上記の方法を行なってみてください。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?