先日複数人でDB設計をしている時「erdあった方が分かりやすいから作ろう」って話になり作ろうとしたのですが簡単にerdをシュッと生成するツールが見つからなかったので作りました。
既存ツールとしてMySQL Workbenchなどあるにはあるのですが、作るのが面倒くさい + 作り方覚えるのが面倒くさい + 手でポチポチするのしんどいみたいな感じだったので自作の道を選びました。
また、Haskell製のerdというツールもあるのですが使いこなせませんでした・・・
インストール
まず、graphvizという描画ツールをインストールします。macなら
$ brew install graphviz
で入ります。他はこちらを参考にしてください。
次に、yml2erdをインストールします。
$ gem install yml2erd
これでインストールできました。
使い方
インストールができたら実際にerdを生成します。今回はsample.ymlを使用します。
$ yml2erd convert sample.yml
これで生成されたoutput.pngがerdとなります。また、生成するファイルはパス指定できて
$ yml2erd convert sample.yml -o hoge.png
とするとhoge.pngが生成されます。
pngだけでなくsvgでも出力できます。詳しくはREADMEを参照してください。
ymlの書き方
基本的には以下の形式です。間違ってたらエラーが出ます。
<テーブル名>:
columns:
- <カラム名>: <カラムの型>
relations:
belongs_to:
- <テーブル名>
has_many:
- <テーブル名>
参考
http://qiita.com/rubytomato@github/items/51779135bc4b77c8c20d
http://www.graphviz.org/doc/info/shapes.html
http://qiita.com/komeiy/items/6bb8621620337e0308f4
http://karur4n.hatenablog.com/entry/2015/02/20/155411