サポート > インポートとエクスポート機能活用ガイド > 設定ファイルの解説
InitLoader が用いる設定ファイル initidb.xml の構造を説明します。
設定ファイル initdb.xml
initdb.xml は InitLoader コマンドが用いる設定ファイルです。 このファイルは wagbyapp/webapps/$(APPNAME)/WEB-INF/export/conf フォルダに含まれています。
initdb.xml は次のような構造になっています。
<config>
<!-- データベースの設定 -->
<database ...>
...
</database>
<!-- 各フォルダの設定 -->
<directory .../>
<directory .../>
<directory .../>
...
</config>
次に、各要素について説明します。
各要素の説明
database 要素:データベースの設定
データベースのタイプや JDBC ドライバ、接続先 URL の指定などを行います。
- type 属性
- データベースの種類を指定します。内蔵データベースの場合は "sql92" を指定します。
- driver 属性
- JDBC ドライバを指定します。
- url 属性
- 接続先データベースへの URL を指定します。
- user 属性
- 接続先データベースのユーザー名を指定します。
- password 属性
- 接続先データベースのパスワードを指定します。
- quoteid 属性
- SQL文における識別子の区切り文字(quote.id)を指定します。 例えば、'"' を指定した場合は、「select * from "juser" where id > 0」のようなSQL文が実行されます。
- quotewhere 属性
- SQL文におけるWHERE句の区切り文字(quote.where)を指定します。 例えば、'"'を指定した場合は、「select * from juser where "id > 0"」のようなSQL文が実行されます。
- quoteidinwhere 属性
- SQL文におけるWHERE句内の識別子の区切り文字(quote.idInWhere)を指定します。 例えば、'"'を指定した場合は、「select * from juser where "id" > 0」のようなSQL文が実行されます。
- jdbc2 属性
- JDBCドライバーが2.0対応かどうかを指定します。対応している場合は true、そうでない場合は false を指定します。
directory 要素:各フォルダの設定
エクスポートされたフォルダを起点とした、相対的なフォルダ名と、各種属性を指定します。 具体的には、次のようになります。
<directory group="data hibernate"
tablename="customer"
storage="hibernate"
createddlfilename="createddl/customer.ddl"
dropddlfilename="dropddl/customer.ddl"
importxslfilename="importxsl/customer.xsl"
convertimportxslfilename="convertimportxsl/customer.xsl">
init/customer
</directory>
- group 属性
-
この sql 要素のグループ名を指定します。スペース区切りで複数記述することが可能です。コマンド実行時にグループ名に合致した sql 要素をまとめて実行することができます。次の値が設定されます。
- data : エンドユーザによって開発されたという意味を示すマーカーです。
- jfc_data : Wagby 内部で管理されているストアモデルを示すマーカーです。
- jfc_master : Wagby 内部で管理されているマスタモデルを示すマーカーです。
- jdbc : Relaxer JDBC 機能を用いてデータを格納します。Wagby内部で管理されているモデルが該当します。
- hibernate : Hibernate を用いてデータを格納します。エンドユーザによって開発されたモデルが該当します。
- tablename 属性
- データベースのテーブル名が指定されて実行された場合に、一致した sql 要素のみを実行します。
- storage 属性
- "hibernate" を指定できます。
- createddlfilename 属性
- テーブル作成時の DDL ファイルを指定します。
- dropddlfilename 属性
- テーブル削除時の DDL ファイルを指定します。
- importxslfilename 属性
- この属性にXSLファイルのファイル名を指定することにより、import時に読み込んだXMLを指定したXSLで処理を行います。指定がない場合は読み込んだXMLでそのまま処理します。initdb.xmlファイルの親ディレクトリからの相対パスを指定します。
- convertimportxslfilename 属性
- 過去データを移行して新システムにデータを格納するタイミングで、ここに指定した XSLT を(フィルタとして)通すことができます。
sql 要素:実行する SQL 文の設定
InitLoader 実行時に、同時に実行する SQL 文を指定します。例えばビューの定義など、さまざまな SQL 文(一文)を指定します。複数の SQL 文を実行させる場合は、当該要素を複数回、記述してください。 具体的には、次のようになります。
<sql group="create_view jfc_data"
tablename="staff">
create view ...
</sql>
- group 属性
- この sql 要素のグループ名を指定します。スペース区切りで複数記述することが可能です。コマンド実行時にグループ名に合致した sql 要素をまとめて実行することができます。
- tablename 属性
- データベースのテーブル名が指定されて実行された場合に、一致した sql 要素のみを実行します。
sequence 要素:順序の作成
InitLoader 実行時に、同時に実行する CREATE SEQUENCE 文を指定します。 具体的には、次のようになります。
<sequence group="create_seq jfc_data"
tablename="jprincipal" tablemaxcolumn="id"
seqname="jprincipal_seq" start="1000"/>
- group 属性
- この sequence 要素のグループ名を指定します。スペース区切りで複数記述することが可能です。コマンド実行時にグループ名に合致した sequence 要素をまとめて実行することができます。
- tablename 属性
- データベースのテーブル名が指定されて実行された場合に、一致した sequence 要素のみを実行します。
- tablemaxcolumn 属性
- tablename属性とこの属性で指定されたテーブルの列の最大値を取得し、start属性で指定された値より大きい場合は、この値をSTARTの値とします。tablename属性又はこの属性が指定されてない場合は、start属性の指定に従います。
- seqname 属性
- 作成するSEQUENCEの名前を指定します。必ず指定されなければなりません。
- increment 属性、minvalue 属性、maxvalue 属性、start 属性、cache 属性
- CREATE SEQUENCE文のINCREMENT, MINVALUE, MAXVALUE, START, CACHEに対応します。指定されてない場合は、省略されます。
- cycle 属性
- CREATE SEQUENCE文のCYCLEに対応します。値がtrueの場合にのみ指定されます。指定されてない場合又は値がfalseの場合は、省略されます。
