概要
S2JDBC-GenのGen-Ddlタスクは, バージョンごとのディレクトリにDDLファイルを生成します.
db
└─migrate
├─0001
│ └─create
│ └─010-table
│ ├─employee.sql
│ └─・・・
└─0002
└─create
└─010-table
├─employee.sql
└─・・・
新しいバージョンディレクトリに作成されるファイルは, 以前のバージョンディレクトリに作成されたファイルの新しいバージョンと位置づけられます. しかし,ファイルとしては別のものであるため, このままSubversionにコミットするとリビジョンの履歴をたどることが出来ません.
Gen-DdlのSVN拡張機能を利用すると,
新しいバージョンのファイルは以前のバージョンのファイルから
svn copy
で作成します.
これにより,リビジョンの履歴を追跡できるようになり,
リビジョン間の差分を確認することも容易になります.
設定
Gen-DdlのSVN拡張機能を使うには,
Antのビルドファイルで
Gen-Ddlタスク
のトップレベルパラメータ
genDdlListenerClassName
で指定します.
指定する値は,利用しているSubversion (SubclipseまたはSubversiveを使っている場合はJavaHLまたはSVNKit) のバージョン (ワーキングコピーの形式) により, 以下のいずれかになります.
| Subversion/JavaHL | SVNKit | 値 |
|---|---|---|
| 1.4.x | 1.1.x |
org.seasar.extension.jdbc.gen.extension.svn.GenDdlSvn14Processor
|
| 1.5.x | 1.2.x |
org.seasar.extension.jdbc.gen.extension.svn.GenDdlSvn15Processor
|
| 1.6.x | 1.3.x |
org.seasar.extension.jdbc.gen.extension.svn.GenDdlSvn16Processor
|
以下はSubversion 1.4形式のワーキングコピーフォーマットを使う場合の設定例です.
<gen-ddl
classpathDir="build/classes"
...
genDdlListenerClassName="org.seasar.extension.jdbc.gen.extension.svn.GenDdlSvn14Processor"
/>
