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も実行する。