ActiveModel::UnknownAttributeError: unknown attribute 'foreign_type' for PaperTrail::VersionAssociation のエラー対応


起こったこと

rails db:migrateしたら以下のようなエラーを吐いた。
エラー文を読むと、「VersionAssociation テーブルに foreign_type カラムがない!」と怒られている。

ActiveModel::UnknownAttributeError: unknown attribute 'foreign_type' for PaperTrail::VersionAssociation

原因

paper_trailというgemをアップデートしたことで発生。
公式リポジトリのCHANGELOG.mdを見るとforeign_typeに関する記述を発見。。

How to Upgrade from v1.0.0 or earlier
Run rails g paper_trail_association_tracking:add_foreign_type_to_version_associations and then migrate your database.

カラムを追加するマイグレーションファイルを作成してから rails db:migrateすればよさそう。

解決方法

terminal
# カラムを追加するマイグレーションファイルを作成
rails g paper_trail_association_tracking:add_foreign_type_to_version_associations
# 作成したマイグレーションファイルを適応
rails db:migrate

参考