パラメータ
Antタスクへのパラメータを以下に示します。
トップレベルのパラメータ
| 属性 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|
| classpathDir | エンティティクラスを含むクラスパスのディレクトリです。このディレクトリはタスクの実行時のクラスパスに含まれている必要があります。 | - | YES |
| rootPackageName | ルートパッケージ名です。 | "" | NO |
| entityPackageName | エンティティクラスのパッケージ名です。エンティティクラスは、rootPackageNameとこの値をピリオドで連結したパッケージに配置されているとみなされます。 | "entity" | NO |
| entityClassNamePattern | このタスクで対象とするエンティティクラス名の正規表現です。 | ".*" | NO |
| ignoreEntityClassNamePattern | このタスクで対象としないエンティティクラス名の正規表現です。 | "" | NO |
| migrateDir | マイグレーション用のファイルを管理するディレクトリです。 | "db/migrate" | NO |
| ddlInfoFile | DDLのバージョン番号を管理するファイルです。 | "db/ddl-info.txt" | NO |
| versionNoPattern | バージョン番号のパターンです。バージョン番号に対応するディレクトリ名に使用されます。 | "0000" | NO |
| dumpDirName | ダンプファイルを出力するディレクトリ名です。 | "040-dump" | NO |
| dumpDir | ダンプファイルが格納されているディレクトリです。指定しない場合、migrateDir、ddlInfoFile、versionNoPattern、dumpDirNameにより出力先ディレクトリが決まります。 | - | NO |
| dumpFileEncoding | ダンプファイルのエンコーディングです。 | "UTF-8" | NO |
| loadBatchSize | ダンプファイルのデータをロードする際のバッチサイズです。 | "10" | NO |
| delete | "true"の場合、ロードの前にデータを削除します。"false"の場合、何もしません。 | "false" | NO |
| transactional | "true"の場合、単一のトランザクションとして実行します。 | "false" | NO |
| genDialectClassName | S2JDBC-Genのダイアレクトインタフェースの実装クラス名です。ここに指定するクラスはorg.seasar.extension.jdbc.gen.dialect.GenDialectインタフェースを実装している必要があります。指定しない場合はS2JDBCのダイアレクト に対応したデフォルトのクラスが使用されます。 | - | NO |
| configPath | JdbcManagerのコンポーネント定義を含む設定ファイルです。このタスクの実行に使用されます。 | "s2jdbc.dicon" | NO |
| env | 環境名です。 | "ut" | NO |
| applyEnvToVersion | バージョンディレクトリに環境名を適用する場合"true"を指定しますを指定します。trueを指定すると、通常のバージョンディレクトリよりも環境名つきバージョンディレクトリに存在するダンプファイルを優先してロードします。dumpDirを指定しない場合にのみ有効です。 | "false" | NO |
| jdbcManagerName | JdbcManagerのコンポーネント名です。接続先のデータベースはJdbcManagerのコンポーネント名によって決まります。 | "jdbcManager" | NO |
| factoryClassName | S2JDBC-Genの公開されたインタフェースの実装を作成するファクトリのクラス名です。S2JDBC-Genをカスタマイズする場合に独自のファクトリクラスを指定できます。ここに指定するクラスはorg.seasar.extension.jdbc.gen.internal.factory.Factoryインタフェースを実装している必要があります。 | "org.seasar.extension.jdbc.gen .internal.factory.FactoryImpl" |
NO |
| commandInvokerClassName | S2JDBC-Genのコマンドを呼び出すクラスの名前です。コマンドの呼び出し前後で任意の処理を実行したい場合に指定します。ここに指定するクラスはorg.seasar.extension.jdbc.gen.command.CommandInvokerインタフェースを実装している必要があります。 | "org.seasar.extension.jdbc.gen .internal.command.CommandInvokerImpl" |
NO |
| classpath | このタスクを実行する際のクラスパスです。 | - | classpathrefが指定されていない場合YES |
| classpathref | このタスクを実行する際のクラスパスの参照です。 | - | classpathが指定されていない場合YES |
例
バッチサイズを変更する
バッチサイズを変更してタスクを実行します。
<load-data
classpathDir="build/classes"
rootPackageName="examples"
loadBatchSize="20"
classpathRef="classpath"
/>
ロード前に既存データを削除する
ロード前に既存データを削除するには、delete属性に"true"を指定します。
<load-data
classpathDir="build/classes"
rootPackageName="examples"
delete="true"
classpathRef="classpath"
/>
delete属性に"true"を指定すると、全データを削除する「delete from ...」のSQLがロード前に実行されるようになります。
環境名つきバージョンディレクトリ以下のダンプァイルを優先する
applyEnvToVersion属性に"true"を指定すると、環境名つきバージョンディレクトリ以下に同名の相対パスで表されるファイルがあれば、そちらが優先されるようになります。 設定例は次の通りです。
<load-data
classpathDir="build/classes"
rootPackageName="examples"
applyEnvToVersion="true"
env="ut"
classpathRef="classpath"
/>
環境名つきバージョンディレクトリとは、バージョン名と環境名を#で連結したディレクトリのことです。 次の図で言えば、0001#utがバージョンディレクトリになります。
db
└─migrate
├─0001
│ └─create
│ └─040-dump
│ ├─employee.csv
│ └─address.csv
│ └─..
└─0001#ut
└─create
└─040-dump
└─employee.csv
この例では、employee.csvについては0001#utディレクトリ以下のものが使用され、 0001ディレクトリ以下にあるemployee.csvは参照されません。 address.csvについては0001ディレクトリ以下にあるものが使用されます。
環境名つきバージョンディレクトリ以下のダンプデータは、Dump-Dataタスク により作成できます。
