本番環境でのDBに関するエラー

・エラー内容

開発環境での作業が終わり(LGTMを貰い)、アプリを本番環境にデプロイしたところ以下のエラーが出た(Mysql〜となるのでDB関係のものと分かる)。

 

f:id:Fujisan3776:20201029120123p:plain

 

・原因

renameコマンドを使ったマイグレーションファイルを使用したこと。

(メンターの方曰く、経験上、本番環境でrename等の行数の短いマイグレーションファイルを使用するとエラーが起きやすいそうです。)

 

<経緯>

開発環境でOrderモデルを作成し、マイグレーションファイルにかカラム名を追記してマイグレーションを実行

モデルのカラム名の間違いに気づく

カラム名修正の為、renameコマンドを使ったマイグレーションファイルを作成し、マイグレーションを実行

rake db:resetでDB内を一度リセット

その後開発が終了し、herokuにデプロイしたところエラーが出た。

 

・対処法

開発環境に戻り、renameコマンドのマイグレーションを削除

マイグレーションをrolbackし、Orderモデルのマイグレーションファイルのから無名を修正

開発環境で再度マイグレーションとDBのリセットを実施

herokuにデプロイ

本番環境でもDBをリセット

※本番環境でのDBリセットは以下を使用

heroku run rails db:migrate:reset REILS_ENV=prodction DISABLE_DATABASE_ENVIRONMENT_CHECK=1