サポート > インポートとエクスポート機能活用ガイド > 設定ファイルの解説

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 を用いてデータを格納します。エンドユーザによって開発されたモデルが該当します。
この group 属性値を利用して、InitLoader を操作することができます。 対象となるグループに限定した操作を行えるようになります。
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の場合は、省略されます。

このページ

インポートとエクスポート機能活用ガイド