はてなブックマーク - Unexpected Run Check

2010年10月6日水曜日

Rails3.0でモデルのER図を簡単に出力する方法

こんにちは、@sawada0903こと澤田です。
今Rails3.0を使ってサービスを開発しているのですが、
DBを定義するにあたり、やはりER図が欲しい。

Rails2.3.8を使っていた頃はRailroadというgemを使っていたん
ですが、2008年で開発が止まっており、当然Rails3.0には非対応(涙)。

ちなみにRailroadに関してはこの記事が詳しいです。若干ね。若干。
Railsを見える化「RailRoad」
http://www.moongift.jp/2007/07/railroad/

なのでしばらく頭の中で開発を進めていたんですけど、やっぱり欲しい。
アジャイル気味に開発してるのもあり、かっつり最初から決めたくない。
とはいえリレーションを目で見たいし、複数人で開発するとなると尚更欲しい。

そこで、Googleさんに聞いてみる....。

と!

こんなgemを発見。

Rails ERD
http://rails-erd.rubyforge.org/

まず結論。

こいつかなりイケテるッ

Rails ERDがイケテル3つのポイント:
0. インストール簡単
1. Railroadよりも遥かに簡単に操作可能、そしてデフォがPDF
2. 出力されるdiagramが綺麗


0. インストール簡単
まぁチュートリアルの通りなんだけども、一応紹介。

0-0. graphvizのインストール
brew install cairo pango graphviz    # Homebrew on Mac OS X
sudo port install graphviz           # Macports on Mac OS X
sudo aptitude install graphviz       # Debian and Ubuntu

0-1. gemのインストール 
Gemfileにrails-erdを記述。具体的にはこう書くだけ。簡単。瞬殺。
group :development do  gem "rails-erd" end そして、、、 bundle install
本当に簡単。 1. Railroadよりも遥かに簡単に生成が可能、
  デフォがPDF
Railroad(http://railroad.rubyforge.org/ ←ここから引用):
  • railroad -o models.dot -M
    Produces a models diagram to the file 'models.dot'
  • railroad -a -i -o full_models.dot -M
    Models diagram with all classes showing inheritance relations
  • railroad -M | dot -Tsvg > models.svg
    Model diagram in SVG format
  • railroad -C | neato -Tpng > controllers.png
    Controller diagram in PNG format
  • railroad -h
    Shows usage help
とまぁ、いろいろとオプションつけてmodelやらcontrollerやら、フォーマットやら出さなきゃいけないわけです。めんどくさ。

Rails ERD:
rake erd
これだけです。楽!!!
これやると、Rails.rootにERD.pdfっていうファイルが出来ます。超楽。

2. 出力されるdiagramが綺麗

↓ こんな風 ↓









なかなか見やすいですね。


というわけで現段階ではかなりおすすめなgemです。
一度試してみてはどうでしょうか。

0 件のコメント:

コメントを投稿