ymlでERDを書けるymldotを作ったのですが...

そういえば,ちょっと前に「ymldot」というのを作りました.
 

なに?(What?)どうやって?(How?)

楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編:CodeZine(コードジン)
で紹介されているERDを書くときに

# reference http://codezine.jp/article/detail/154?p=1                                                                                                                       
config:
  font: MSUIGOTHIC.ttf

tables:
  - name: 顧客
    columns:
      - 名前
      - 電話番号
    foreignkeys:
      has_many:
        - 注文

  - name:  注文
    columns:
      - 注文数

  - name:  商品
    columns:
      - 名前
      - 金額
      - 税
      - 商品区分
    foreignkeys:
      has_many:
         - 注文
  
  - name:  商品カテゴリ
    columns:
      - 商品カテゴリ名
    foreignkeys:
      has_many:
         - 商品

とまぁこんな感じで書けて,そのymlファイルを

$ ymldot -o sample.yml

などかますと.dotファイルに変換してくれます.
 
.dotファイルって何かっていうと図形作成ツールであるgraphvizがおいしく頂く形式のコードでありまして,

$ dot -Tpng sample.dot -o sample.png

とすると下の様な図形ができあがるという訳です.
 

 

なぜ?(Why)

楽々ERDレッスンを読んでERDに結構感銘を受けたんですが,ERD作成ツールって意外と無い.
いや,あるにはあるんですが,IDEF1Xの形式のERDを作るツールって無い.
しょうがないから作ったんですが,まぁ,用途はすごく無いかなって思います...
楽々ERDレッスン (CodeZine BOOKS)
 

どこで?(Where?)

gemから取得できます.

$ gem install ymldot

 
あとREADMEは->README
 
codereposは->http://coderepos.org/share/browser/lang/ruby/ymldot
 

誰が?(Who?)

ターゲットはわかんない.
 

いつ?(Where)

作ったのは一ヶ月くらい前だったかな...
 

終わりに

5W1Hは社会人の基本だよねーという事で使ってみました.
順番がバラバラかつ内容がめちゃくちゃですが.