設定ファイル
最終更新日: 2022年6月23日
initdb.xml は InitLoader コマンドが用いる設定ファイルです。
このファイルは wagbyapp/webapps/wagby/WEB-INF/export/conf フォルダに含まれています。
initdb.xml は次のような構造になっています。
データベースのタイプや JDBC ドライバ、接続先 URL の指定などを行います。
エクスポートされたフォルダを起点とした、相対的なフォルダ名と、各種属性を指定します。
具体的には、次のようになります。
この sql 要素のグループ名を指定します。スペース区切りで複数記述することが可能です。コマンド実行時にグループ名に合致した sql 要素をまとめて実行することができます。次の値が設定されます。
この group 属性値を利用して、InitLoader を操作することができます。対象となるグループに限定した操作を行えるようになります。
InitLoader 実行時に、同時に実行する SQL 文を指定します。例えばビューの定義など、さまざまな SQL 文(一文)を指定します。
複数の SQL 文を実行させる場合は、当該要素を複数回、記述してください。または記述するSQLをセミコロン「;」で区切って記述します。
InitLoader 実行時に、同時に実行する CREATE SEQUENCE 文を指定します。
具体的には、次のようになります。
initdb.xml はモデル定義から常に自動生成されます。一方、initdb_ex.xml は開発者が作成し、customize フォルダに配置します。この仕組みを用いることで、モデル定義によらず、InitLoader 時に常に実行してほしい SQL を 用意することができます。
利用例 : サポート > リポジトリ > 業務ロジック > 主キー > 順序を定義する
コマンドラインからのインポート実行、およびインポート・エクスポート画面にて、インポート処理の実行前と実行後に特定のグループのsqlを実行できます。
initdb_ex.xmlに次の設定を行うことで、testテーブルを作成することができます。
設定ファイル initdb.xml
<config>
<!-- データベースの設定 -->
<database ...>
...
</database>
<!-- 各フォルダの設定 -->
<directory .../>
<directory .../>
<directory .../>
...
</config>
database 要素:データベースの設定
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>
sql 要素:実行する SQL 文の設定
<sql group="create_view jfc_data"
tablename="staff">
create view ...
</sql>
acceptcommand="sql sql-auto-before" denycommand="all"
を使用します。
sequence 要素:順序の作成
<sequence group="create_seq jfc_data"
tablename="jprincipal" tablemaxcolumn="id"
seqname="jprincipal_seq" start="1000"/>
acceptcommand="sequence" denycommand="all"
を使用します。
拡張ファイル initdb_ex.xml
使い方
<?xml version="1.0" encoding="UTF-8"?>
<sql group="data"
acceptcommand="sql sql-create-after" denycommand="all"
tablename="seq">
INSERT INTO "seq" VALUES('report_seq1',1);
INSERT INTO "seq" VALUES('report_seq2',1);
</sql>
拡張グループ属性8.5.7/9.0.3
グループ属性 説明
jfc_beforeimport
インポート時、インポート処理前に jfc_beforeimport グループに記述された sql を実行します。
jfc_afterimport
インポート時、インポート処理後に jfc_afterimport グループに記述された sql を実行します。
例
<?xml version="1.0" encoding="UTF-8"?>
<sql group="drop_view jfc_data jfc_beforeimport">
drop table "test" if exists
</sql>
<sql group="create_view jfc_data jfc_afterimport">
create table "test" ( "item1" INTEGER )
</sql>
運用時の注意