LoginSignup
7
8

【Rails】スキーマ情報が一目でわかるannotate_models

Last updated at Posted at 2024-04-11

はじめに

ファットコントローラーよりファットモデルの方が良い、という教えを守った結果、テーブル情報の確認しづらさを感じ調べてみました。

前回の記事でもアノテーションというものを取り上げた気がしているため、もう注釈おじさんと呼んでください🙇

ご覧いただきありがとうございます!
この記事の投稿者は主にRuby on Railsを学習している初学者です。
理解不足な点や内容に誤りがございましたらご指摘いただけますと幸いです。

問題

テーブル・ルーティングの情報をできたら一目で確認したい。
ファイルを開いたときに毎回下までスクロールしないと全容がわからない・・・

解決方法

gemがありました🥹

Gemfileのdevelopmentグループへ

Gemfile
gem 'annotate'
bundle install

ここからは固有のコマンドです.
実行するとlib/tasks/auto_annotate_models.rakeが作成されて、以降はマイグレーション実行時に自動で記述してもらえます!

bin/rails g annotate:install

テーブルの情報を表示します。

bundle exec annotate --models

すると、こちらの例のように記述されます💡

user.rb
# == Schema Information
#
# Table name: users
#
#  id               :bigint           not null, primary key
#  crypted_password :string
#  email            :string(255)      not null
#  nickname         :string(20)       not null
#  salt             :string
#  created_at       :datetime         not null
#  updated_at       :datetime         not null
#
# Indexes
#
#  index_users_on_email     (email) UNIQUE
#  index_users_on_nickname  (nickname) UNIQUE
#
class User < ApplicationRecord
  authenticates_with_sorcery!
  ## 以下略です ##

終わりに

ちなみにこちらのgemはテーブルの情報だけでなくroutesfactoryの情報もファイルに表示させることができるんです。
興味のある方はGitHubのREADMEをご一読ください✨

応用編の表示はこれのおかげだったのかと今更気づきました😅

個人で使っていて便利なのですが、チーム開発される場合にはよりメリットが大きいのかなと思います💡

最後までお読みいただき、ありがとうございました🙇

参考

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8