A5:SQLのER図にCakePHP仕様のテーブルを追加するスクリプト

書籍「CakePHP徹底入門」でもおすすめになっていますが,ER図やSQL文がかけるデータベースツールのA5:SQLと いうのがあります。これはすごい優れものでして,本当に便利に使っています。作者の松さんには毎日感謝しています。このA5:SQLは,Donkeyを 使ってスクリプトを書くことができます。そのスクリプトを使って,A5:SQLのER図にCakePHP仕様のテーブルを追加するスクリプトを書いてみました。

CakePHP仕様のテーブルとは,IDがオートインクリメントのINTで,createdとmodifiedというDATETIMEのフィールド があるテーブルです。リスト用のnameフィールドもつけた単純なテーブルのエンティティをER図に追加します。

対象バージョン:A5:SQL Mk-2 Version 2.4.0 beta 20

//CakePHPCakePHP仕様のテーブルを追加する
var frmER = application.getActiveWindow();
if (frmER.formType != "A5EREditor") {
	alert("アクティブウィンドウをERエディタにしてから実行してください。(1)");
	exit();
}
var sources = new Strings;
 
sources.add("");
sources.add("[Entity]");
sources.add("PName=cakes");
sources.add("LName=新しいCakePHPテーブル");
sources.add("Comment=");
sources.add("TableOption=");
sources.add("Left=250");
sources.add("Top=250");
sources.add('Field="ID","id","INT AUTO_INCREMENT","NOT NULL",0,"","",$FFFFFFFF');
sources.add('Field="名前","name","@VARCHAR(100)",,,"","",$FFFFFFFF');
sources.add('Field="作成日","created","@DATETIME",,,"","",$FFFFFFFF');
sources.add('Field="更新日","modified","@DATETIME",,,"","",$FFFFFFFF');
sources.add("EffectMode=None");
sources.add("Color=$000000");
sources.add("BkColor=$FFFFFF");
sources.add('Position="Main",300,300');
frmER.source.addStrings(sources);

A5:SQLのスクリプトエディタで上記のスクリプトを作成し,A5:SQLのscripts/Toolフォルダに保存します。 

A5:SQLを再起動すると,ツールメニューに「CakePHP仕様のテーブルを追加する」が追加されます。

メニューを実行するとER図にエンティティが追加されます。

今度は,A5:SQLのER図からモデルのソースコードを出力するようなスクリプトが書けるといいかも。dbdesigner2cake.phpみたいな感じだし。と思っていますがいつかできるでしょうか。

変更履歴

2009/10/30 A5:SQLの仕様が変更されたので一部スクリプトを修正しました。2.4.0 beta20に対応

 

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。