コマンドラインによる操作

最終更新日: 2022年10月31日

コマンドライン一覧

ビルドしたアプリケーション wagbyapp の bin フォルダに、次のコマンドが含まれています。
これらは実行可能スクリプトとして提供されます。

コマンド(スクリプト)名 用途 引数 利用例
init_db テーブルの初期化 モデル名(英語) init_db.bat
init_db.bat staff
drop_db テーブル定義の削除 モデル名(英語) drop_db.bat
drop_db.bat staff
export_db データのエクスポート エクスポート対象フォルダ export_db.bat ..\..\export\YOURFORLDER
export_db_zip データのエクスポート (zip圧縮込み) エクスポート対象フォルダ export_db.bat ..\..\export\YOURFORLDER
import_db テーブルの作成とデータのインポート (*) インポート対象フォルダ import_db.bat ..\..\export\YOURFORLDER
import_db はテーブルの作成も同時に行います。そのため import_db を使う場合は、init_db は不要です。

注意

Windows OS 利用時、このバッチファイルを(ファイルエクスプローラから)ダブルクリックして実行することはできません。コマンドライン引数として「対象フォルダ」を指定する必要があるためです。

コマンドを実行するときのカレントフォルダ

各コマンドは wagbyapp\bin フォルダに用意されています。 コマンドを実行する場合、カレントフォルダを wagbyapp\bin としてください。

Windows OS の場合、コマンドプロンプトから cd コマンドを使ってカレントフォルダを移動します。

cd $(wagbyappフォルダ)\bin

重要

カレントフォルダが wagbyapp\bin でない場合、実行時に "Error: Unable to access jarfile InitLoader.jar" というエラーになります。

データベースの初期化 (init_db)

init_db コマンドは、テーブルの初期化を行います。 具体的には、wagbyapp\webapps\wagby\WEB-INF\export\init フォルダに含まれているデータをインポートします。

このコマンドは、すでにテーブルが存在する場合は、処理をスキップします。 そのため、通常は最初に drop_db コマンドを実行し、そのあと init_db コマンドを実行します。

実行方法

Windows OS の場合:

drop_db.bat
init_db.bat
  

Linux OS の場合:

drop_db.sh
init_db.sh
  
sh スクリプトに実行権限が付与されていない場合、事前に OS コマンドで実行権を付与してください。(操作方法は割愛します。別途、Linux OS のコマンド解説をお読みください。)

対象モデルを指定する

コマンドライン引数にモデルIDを指定することができます。

init_db staff
モデルIDを省略した場合は、すべてのモデルが対象となります。

複数のモデルを指定する

複数のモデルIDを指定する場合は、空白で区切ります。

init_db juser customer jgroup
R7.12 より、モデル名記載部をダブルクォートで囲う書式が利用できるようになりました。例 init_db "juser customer jgroup"

データベースの削除 (drop_db)

drop_db コマンドは、テーブルの削除を行います。 具体的には、データベースに対して drop table 命令を実行します。

実行方法

Windows OS の場合:

drop_db.bat

Linux OS の場合:

drop_db.sh

対象モデルを指定する

コマンドライン引数にモデルIDを指定することができます。複数のモデルIDを指定する場合は、空白で区切ります。

drop_db staff
モデルIDを省略した場合は、すべてのモデルが対象となります。

コマンドラインからのエクスポート

export_db コマンドは、テーブルの内容を XML 形式ファイルで出力します。

export_db.bat [出力先フォルダ]

出力先フォルダは省略できます。省略時のフォルダ名は「..\..\export\data_"出力した時間(年月日時分秒)"」となります。

コマンドラインからのインポート

import_db コマンドは、テーブルの作成ならびに、エクスポートされた XML 形式ファイルを読み込み、データベースに格納します。

import_db.bat [読み込むデータが格納されているフォルダ]

入力例

import_db.bat ..\..\export\data_sample

モデルを指定する 8.4.0

第二引数にモデルIDを指定することができます。

import_db.bat [読み込むデータが格納されているフォルダ] [モデルID]

入力例

import_db.bat ..\..\export\data_20200131090000 juser

詳細

import_db は指定したモデルをインポートしたあと、次のシステムモデルのテーブルを常に再作成(dropとimport)します。

  • [権限] jprincipal
  • [モデル名] jfcmodel, jfcmodel4dm
  • [ライセンス情報] jfclicenseholder
  • [ジョブ定義] jfcjob
  • [ドメイン定義] jfcdomain 8.5.6
  • [権限カテゴリ] jcategory 8.5.6

実行時のメモリを指定する(大量データ処理の場合)

対象データが大量の場合、標準のメモリサイズでは足りずに「Out Of Memory」(メモリ不足)というエラーになることがあります。 この場合は、上記スクリプトファイルをテキストエディタで編集します。次に示す斜字の部分を修正してください。

@ECHO OFF
...
"%JAVA_HOME%\bin\java" -Xmx512m -XX:MaxPermSize=192m -Dcatalina.home=".." -Djava.io.tmpdir="${catalina.home}\temp" -jar InitLoader.jar auto %TARGET% -check_exists_table true -c ..\webapps\wagby\WEB-INF\export\conf\initdb.xml  -d ..\webapps\wagby\WEB-INF\export

-Xmx の初期値は 512m (512メガバイト) となっています。処理が成功する値になるよう、この値を増やします。

XMLファイル

Wagbyのインポート・エクスポート処理は、「1つのXMLファイル」を「(データベースの)1レコード」として扱い、データベースとのやりとりを行います。

具体的な XML ファイルは次のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<staff>
  <staffid>1000</staffid>
  <name>山田 花子</name>
  <birth>1972-05-15</birth>
</staff>
XMLの要素名はリポジトリの「モデルID」および「項目ID」が使われます。

XMLファイル編集時の注意

XML ファイルを編集する場合、Windows に付属の「メモ帳」はご利用になれませんので、ご注意ください。

Wagby が読み込む XML ファイルの文字エンコーディングは UTF-8 で、バイト順マーク(BOM) を含めてはいけません。メモ帳は UTF-8 で書かれたファイルを保存すると必ずバイト順マーク(BOM) を付与するようになっています。このため、メモ帳で編集・保存された XML ファイルは Wagby で処理するときにエラーになります。

仕様・制約

内蔵データベース利用時は、wagbyapp アプリケーションを停止してから(ここに紹介した)コマンドを実行してください。

フォルダ名の規則

インポートとエクスポートの対象となるフォルダは、"モデルID/XMLファイル" と、モデルIDの名前のフォルダの中に、個々のXMLファイルが格納されるようになっています。このルールを遵守してください。

内部の処理で、読み込んだ xml ファイルの一つ上のフォルダをモデルID名と解釈しています。

Java 17での動作

R9.0.xおよびR9.1.xでは Java 17 利用時はコマンドライン操作を行うことができません。この対応は R9.2 で修正されます。