勉強メモ

主にプログラミングの勉強メモ

エラー解決メモ ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation テーブル名 does not exist

実行環境

開発環境の場合 db:reset 実行後 db:migrate しようとしたら発生した。 以下のコマンドで解決。

bin/rails db:environment:set RAILS_ENV=development
rails db:schema:load
rails db:migrate

heroku 本番環境の場合 heroku にデプロイ時にも発生した。 解決方法は開発環境とほぼ同じだが、heroku に環境変数を指定する必要がある。

heroku run bin/rails db:environment:set RAILS_ENV=production
heroku config:set DISABLE_DATABASE_ENVIRONMENT_CHECK=1
eroku run rake db:schema:load RAILS_ENV=production
heroku run rails db:migrate
  • 参考

Rails 5に入ったDB破壊系taskの防止処理について | 日々雑記