はじめに
こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。
Rails アプリケーションでは、モデルファイルにそのテーブルのカラム情報をコメントとして記載することで、モデルの構造をすばやく把握できるようにする習慣があります。
その作業を自動化してくれるのが annotate 系の gem です。
ただし、従来の annotate は Rails 8 では依存関係の問題が起きる ため使用できません。
その代替として登場したのが annotaterb です。本記事では annotaterb の属性や導入方法、使い方を解説します。
annotaterb とは
annotaterb は、Rails モデルにスキーマ情報をコメントとして自動追加する gem です。
以下のような情報がモデルファイルの先頭に追加されます:
# == Schema Information
#
# Table name: users
#
# id :bigint not null, primary key
# name :string(50)
# email :string not null
# created_at :datetime not null
# updated_at :datetime not null
#
class User < ApplicationRecord
...
end
属性
- Rails 8 対応
-
.annotateで設定管理 - model、migration、routes などにスキーマ情報を追加可
- 実行時にデータベースをスキャンして情報を取得
導入手順
1. Gemfile に追加
group :development do
gem 'annotaterb', require: false
end
インストール:
$ bundle install
2. 初期設定
$ rails g annotate_rb:install
使い方
全モデルにスキーマ情報を追加
$ bundle exec annotaterb:models
ルーティングファイルに追加
$ bundle exec annotaterb:routes
まとめ
annotaterb は db のカラムやルーティングを表示するのに最適の gem です
今回は rails8 でやりましたが、ほかのバージョンでも使えるはずなのでぜひ試してみてください