Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

RailsアプリでER図とかクラス図を作る

More than 5 years have passed since last update.

あんまり日常的に開発で使うことなさそうだけど、誰かにアプリの概要を説明したり、QiitaとかでサンプルアプリのER図を見せたい時とかに使えるGemたち。

  • preston/railroady
  • voormedia/rails-erd

この2つ。railroadyの方はモデルのER図だけじゃなくて、コントローラーなどのクラス図なども作成できる。

前提

  • Rails v4.x
  • Graphviz v2.22

Graphvizというパッケージが必要になる。GraphvizとはDOT言語というスクリプトをグラフに描画してくれる良い感じのやつらしい。どうでもいいけど、DOT言語ってカッコいいな…。

Graphvizのインストール

yum系

command
$ sudo yum install graphviz

Mac

command
$ brew install graphviz

railroady

インストール

Gemfile
gem "railroady"
command
$ bundle install

使い方

command
# 全部を対象に出力
$ bundle exec rake diagram:all

これで/doc/ディレクトリにsvgファイルが保存される。ボリュームの少ないサンプルアプリを対象にやったから、ちょっとイメージがわきにくいけど…。こんな感じの図が出力される。

  • スクリーンショット 2014-10-12 15.04.44.png
  • スクリーンショット 2014-10-12 15.04.58.png
  • スクリーンショット 2014-10-12 15.05.11.png
  • スクリーンショット 2014-10-12 15.05.04.png
command
$ bundle exec railroady -M | dot -Tsvg > models.svg

モデルER図だけ表示したいときは-Mオプションを使う。

rails-erd

インストール

Gemfile
gem "rails-erd"
command
$ bundle install

使い方

command
$ bundle exec rake erd

デフォルトだと、rails-erdの方が見やすいかもしれない。

  • スクリーンショット 2014-10-12 14.44.20.png

今回は、RailsアプリだからGemとかで良いんだけど、環境とか言語にあまり左右されずに純粋にモデル図とかを書きたいとき、どんなツールがいいんだろ…。できれば設定ファイルを書いてコマンドで出力…みたいなシンプルな奴がいいんだけどなー。

zaru
basicinc
マーケティングとテクノロジーで社会のあらゆる問題を解決する集団
https://tech.basicinc.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away