結論
annotate_models のメンテナンスが滞っているため、 annotaterb に移管しよう。
annotate gem とは
ActiveRecord を利用する際にファイル上部に db schema をコメントで自動追記してくれる gem になります。
# == Schema Info
#
# Table name: line_items
#
# id :integer(11) not null, primary key
# quantity :integer(11) not null
# product_id :integer(11) not null
# unit_price :float
# order_id :integer(11)
#
class LineItem < ActiveRecord::Base
belongs_to :product
. . .
Railsのバージョンをv7系からv8に上げようとするとannotate gemのバージョンがv3->v2になってしまいdiffが出る。
↓こちらでannotate_models v3系はActiveRecordのバージョンが7系以下である必要があり、v8に挙げたところでサポート外になってしまった。
そしてannotate_models v2.6.5がActiveRecordのサポートバージョンの上限が指定されていなかったため、Railsを挙げるとannotateが2.6.5になるという事件を起こしていた。。。
(2024/11/17現在の話です)
Rails v8へのサポートに関してはissueもPRも上がっているが現時点で進捗なし。
annotate gem自体のアップデートが2023/11で止まっていました。
annotate_modelsからannotaterbに載せ替える
annotate_modelsからforkしたということもあり使用感などほぼ変わらず。
載せ替えのマイグレーションに関してはこちらのガイド通りに進めればOK
- Gemfileのannotateをannotaterbに書き換えてbundle install
-
bin/rails g annotate_rb:install
の実行
必要に応じて .annotaterb.yml
を修正。
annotateの実行は bundle exec annotaterb models