そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

Rails - ER図を作成するアプリケーション erd

Rails 3 のアプリケーションからER図を生成するライブラリが rails-erd です。

リバースエンジニアリングしたいときに便利なツールです。

Graphviz | Graphviz - Graph Visualization Software を使用していますので別途インストールが必要です。

ER図のサンプルは、Rails ERD Gallery  に掲載されています。

Refinery CMS や Typo など実際のアプリケーションの出力例ですのでイメージがわきやすいと思います。

 

CentOS でのキックスタート

$ sudo yum install graphviz
$ cd your_app
$ vi Gemfile
gem "rails-erd"
$ bundle install
$ bundle exec rake erd

上記コマンドで erd.pdf にER図が出力されます。

当然データベースとActiveRecordはきちんと書かれていないとNGです。

publify で試してみる*1

publify は Rails でかかれたフリーのブログ&Webサイト生成ツール、のようです。

このファイルのER図を表示させてみます。

$ git clone <publify git uri>
$ cd publify
$ cd config/database.yml.mysql config/database.yml
$ vi Gemfile
group :development, :test do
...
gem "rails-erd"
end
$ bundle install
$ rake db:create
$ rake db:migrate
$ bundle exec rake erd

erd.pdf はこんな感じ。孤独なテーブルがありますね。。。

f:id:babiy3104:20130917224328p:plain

楽々ERDレッスン (CodeZine BOOKS)

楽々ERDレッスン (CodeZine BOOKS)

 

*1:Redmine で試したのですが custom field の処理がrails-erd では処理しきれずエラーになったせいです