本番環境でのDBに関するエラー
・エラー内容
開発環境での作業が終わり(LGTMを貰い)、アプリを本番環境にデプロイしたところ以下のエラーが出た(Mysql〜となるのでDB関係のものと分かる)。
・原因
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」