create→ROLLBACKの原因を知りたい
Herokuにデプロイしたあと、UserのCreateがロールバックされてしまい、その理由がログに出ないので困り果てていました。
def create @user = User.new(user_params) @user.save! end
save!
で例外を発生させるようにすると、ログにエラー内容が出るようになります。
ちなみに内容はcounter_culture用のマイグレーションファイルが一つ抜け落ちていて、count用のカラムが存在しないという理由でした。
関連付けを変えたりカラム名を変更したりしているうちに削除してしまったようです。
development環境ではなぜか上手く動いてたのでherokuでイチからマイグレーションするまで現象が出なかったんですね。
schemaファイルからロードするdb:reset
とマイグレーションからやり直すdb:migrate:reset
があるので注意。
ちなみに前者はseedも実行する。