ER Master は超便利なツールだ
ユカイ、ツーカイ、カイハツ環境!(11):DB設計の神ツール「ERMaster」なら、ここまでできる (1/3) - @IT
ER Master は超便利なツールだ。
Eclipse のプラグインとして提供されているので、特に Java 開発者であれば一度は使ってみたほうがいい。神ツールと呼ばれるのにも納得すると思う。
ER Master を利用したスキーマの再構成
そんな ER Master は DDL、DML のエクスポートにも対応しているのだが、これは Ant から実行することもできる。
これを利用してデータベースの状態を初期化することができる。以下の例はデータベースに H2 Database を使用。
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project>
<project>
<property name="sql_dir" location="build/erm" />
<property name="erm" location="sample.erm" />
<property name="ddl" value="create-schema.sql" />
<property name="dml_name" value="initialization" />
<target name="resetDB">
<!-- スキーマ構築 DDL の作成 -->
<ermaster.ddl diagramFile="${erm}" outputfile="${sql_dir}/${ddl}" />
<!-- 初期データ登録スクリプトの作成 -->
<ermaster.testdata diagramfile="${erm}" outputdir="${sql_dir}" format="0">
<testdata name="${dml_name}" />
</ermaster.testdata>
<!-- スキーマ構築スクリプトの実行 -->
<exec executable="java">
<arg line="-cp lib/h2-1.4.185.jar" />
<arg value="org.h2.tools.RunScript" />
<arg line="-url jdbc:h2:~/test" />
<arg line="-script ${sql_dir}/${ddl}" />
<arg value="-continueOnError" />
</exec>
<!-- 初期データ登録スクリプトの実行 -->
<exec executable="java">
<arg line="-cp lib/h2-1.4.185.jar" />
<arg value="org.h2.tools.RunScript" />
<arg line="-url jdbc:h2:~/test" />
<arg line="-script ${sql_dir}/${dml_name}.sql" />
</exec>
</target>
</project>
Eclipse 上からresetDB
ターゲットを実行することで、ER Master に登録されたデータから自動的に DDL、DML を作成して実行してくれる。
※事前に公式サイトの設定に従って、必要な設定は行っておく必要はある。
使いどころ
- スキーマが確定していないので、開発しながら決めていきたい。
- テーブルに初期データを登録したい。
こういう場面は往々にしてある。もちろん開発フレームワークがこれを実現してくれる場合もあるだろうけれど、なかなかそうでないことも多いだろう。そういう場合には使えると思う。