【Rails】スキーマ(テーブル)情報を表示する gem ‘annotate’ を使う

Annotate(アノテート)とは”注釈”という意味で、Modelファイルにテーブルのスキーマ情報を注釈(コメント)で付加してくれるので、schema.rbを見に行く手間が省けたり、
routeingをroutes.rbに表示してくれるので、rails routeコマンドを打ち、出力を待つ必要がなくなりますので、ちょっとしたストレスがなくなります!

Annotate
https://github.com/ctran/annotate_models

annotateの導入

gemfileに記述して $ bundle install します。開発環境のみの使用なので、development group内に書いておきます。

Gemfile

annotateの実行

次のコマンドを実行すると、app/models/user.rb, test/models/user_test.rb, test/fixtures/users.ymlのファイルの行頭にモデルのスキーマ情報が追加されます。

ここでは app/models/user.rb のみ取り上げてみますと、以下のようになっています。テーブル(モデル)のカラム名や、カラムの型、制約等が記述されていますね。

app/models/user.rb

annotateでroutingの表示

config/routes.rb にコメントを追加することもできます。

config/routes.rb

annotateを削除する

削除したい場合のコマンドです。

annotateのデフォルト設定

$ rails g annotate:install すると $ rails db:migrate 時に自動的にannotateするためのtaskが lib/tasks/auto_annotate_models.rake 作られます。
annotateし忘れることもあるので、デフォルト設定は嬉しいです。

$ rails db:migrateしたときに自動でannotateしてほしくない場合は skip_on_db_migrate‘true’にします。

lib/tasks/auto_annotate_models.rake

その他オプションはこちらです。

annotateの導入は好みによると思いますが、ちょっとした手間が省けるので私はよく使っております。今回は以上です!ありがとうございました!


投稿者:

Shuji

読書したり、プログラミングしたりしています。何かアウトプットできそうなものがあれば投稿していきたいと思います。