もた日記

くだらないことを真面目にやる

Railsメモ(15) : rails-erdでER図を出力する

複数のモデルを作成したのでrails-erdを使用してER図を出力してみる。
Gemfileに下記行を追加してbundle installする。

group :development, :test do
  gem 'rails-erd'
end

ER図を出力するコマンドを実行する。

$ rake erd
Loading application environment...
Loading code in search of Active Record models...
Generating Entity-Relationship Diagram for 3 models...
rake aborted!
Saving diagram failed!
Verify that Graphviz is installed and in your path, or use filetype=dot.
-e:1:in `<main>'
StandardError: GraphViz not installed or dot not in PATH. Install GraphViz or use the 'path' option
-e:1:in `<main>'
Tasks: TOP => erd => erd:generate
(See full trace by running task with --trace)


GraphVizがインストールされていないというエラーが出たのでyumでインストール。

$ sudo yum install graphviz

再度コマンドを実行する。

$ rake erd
Loading application environment...
Loading code in search of Active Record models...
Generating Entity-Relationship Diagram for 3 models...
Done! Saved diagram to erd.pdf.

無事にerd.pdfにER図が出力されたが、has_many, throughを使ったリレーションだとこのような表示になるようだ。

Indirect associations - the association should be symmetric · Issue #25 · gemhome/rails-erd · GitHub

f:id:wonder-wall:20150811153502p:plain

rails-erdのオプション


オプションについては下記ページを参照。

例えば出力カラム、ファイル名、ファイルタイプを指定するには下記コマンドを実行する。
datetimeの後ろがうまく表示されていないみたいだが原因はよくわからない)

rake erd attributes=foreign_keys,primary_keys,timestamps,inheritance,content filename=test filetype=png
Loading application environment...
Loading code in search of Active Record models...
Generating Entity-Relationship Diagram for 3 models...
Done! Saved diagram to test.png.

f:id:wonder-wall:20150811160717p:plain

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails