cakePHP と DbDesigner

ブームになりつつあるようですね

Dbdesigner は実はうちの開発にcakeと同時に取り入れたものだったりします。
かなり便利なので、普通にDB作る時の設計でも使えます。

http://dbdesigner.iimp.jp/

Cakeforgeに cake と接続するツールが落ちてます
http://cakeforge.org/frs/?group_id=162
↑これはまだ未使用です。いずれ使いますが!

実際使うとどんなかんじか

左のバーとダブルクリックだけでほとんどできます。
以下デフォルトのツールバーでの説明です

1:テーブルを作る

  ⇒左バーの上から10個目のボタンを押して 画面をどこかクリック
  ⇒空のテーブルができるので、ダブルクリックして中身を入れていきます。

2:テーブル同士のリレーション

  ⇒リレーションIDとかは cakePHP のままに自動で貼ってくれます。
  ⇒左バーの11個目から13個目がそれです。
   *11個目が 1対多リレーション hasMany
   *12個目が 1対1リレーション hasOne
   *13個目が N対Mリレーション hasAndBelongsToMany
  
  ⇒ボタンをクリックして、リレーションを貼りたいテーブルをクリックするだけです。

3:デフォルトInsert文とかの設定

  ⇒テーブルをダブルクリックして出てくる編集画面の一番下の部分
  ⇒Standard Insert をクリック
  ⇒フォームで右クリックして Paste SQL Insert でSQLがでてくるのでそれをフィルする。

4:SQLにする

  ⇒テーブル名を右クリックして一番下の3つです
   *Copy Table SQL Create が Create Table 文をクリップボードにコピー
   *Copy Table SQL Drop が Drop Table 文をクリップボードにコピー

すごいのがリレーションのとこで、
hasAndBelongsToMany とかを
テーブル2個作って つなぐだけで自動でテーブル作ってくれます。
テーブル名さえ修正すればいいので(rubyっぽい名前になってるかな)楽です。

ほかにも Edit メニューから copy select object すると
テーブルのXMLができたり
AS IMAGE で画像で取得できたり

とこまごまかなりよいものです。