開発中のRailsアプリをHerokuへデプロイして動作を確認しようとしていたら、「ActiveRecord::UnknownAttributeError」というエラーが発生。

かなり時間を取られてしまったので、対処方法を忘れないようにメモしておこうと思います。

経緯

Railsアプリ開発でユーザーを論理削除するための機能を追加しようと思い、gemの「paranoia」を導入しました。

そして、テーブルにユーザーが削除された日時を保存するためのカラムを追加してHerokuに対してマイグレーションを実行。

アプリを実行してみると、「ActiveRecord::UnknownAttributeError」というエラーが発生してしまいました。

ActiveRecord::UnknownAttributeErrorとは

プログラム上で利用するモデルの属性にもかかわらず、実際にはテーブルにカラムが存在しない場合に発生するエラーのようです。

ただ、今回はHerokuに対してマイグレーションを適用済みなので別に原因がありそうですね。

対処方法

対処は簡単な話で、サーバーを再起動したら正常に動作するようになりました。

Heroku上の特定のアプリのサーバーを再起動する
$ heroku restart --app [アプリ名]

今後もこういったことが発生した場合に、今回のことを思い出してサーバーを再起動するようにしたいと思います。

投稿者: TWEI

趣味はプログラミング。 以前は仕事でプログラミングをやっていました。現在はWebエンジニアを目指して勉強中。 勉強で得た知識などをブログで発信していく予定です。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA