提供されるスクリプト最終更新日: 2020年7月6日

check_db

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、外部データベースとの接続テストを行うことができます。

> check_db.bat
Linux の場合は、check_db.sh となります。

コマンドの結果は同一フォルダ内の check_db.txt に出力されます。同ファイルの内容をチェックしエラーが発生していないことを確認してください。

接続テストが成功すれば check_db.txt 内に次のようなデータベース及びJDBCドライバの情報が出力されます。

...
getDatabaseProductName=HSQL Database Engine
getDatabaseProductVersion=2.0.0
...
getDriverName=HSQL Database Engine Driver
getDriverVersion=2.0.0
...

init_db

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、テーブルの作成ならびに初期データの登録を行うことができます。

> init_db.bat
Linux の場合は、init_db.sh となります。

コマンドが正常に実行されると、次のように表示されます。

Command: auto
All table enabled
Config File:.\conf\initdb.xml
Log4j Property File: default file.
import seq 11/11 at 0 sec. process 11 at 0 sec. ...
...(省略)
import juser 2/2 at 0 sec. process 2 at 0 sec. ...

ワンポイント

内蔵データベース利用時は、ビルド処理の一環として本スクリプトが実行されます。そのためビルドの都度、データは初期化されます。外部データベース利用時は、本処理は手動で行います。

export_db

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、現在のテーブルの値をエクスポート(外部ファイルとして出力)することができます。

> export_db.bat ..\..\export\data_xxxx
フォルダ名は "data_" を接頭語としてください。
Linux の場合は、export_db.sh となります。

出力先は $(APPHOME)/export フォルダ以下になります。

重要

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

drop_db

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、外部データベース上の(Wagbyに関する)データ及びテーブル定義を削除します。

> drop_db.bat
Linux の場合は、drop_db.sh となります。

import_db

$(APPHOME)/binフォルダに用意されています。
次のコマンドを入力することで、テーブルの作成ならびに、エクスポートフォルダ内のデータ一式を外部データベースに読み込むことができます。

> import_db.bat ..\..\export\data_xxxx
Linux の場合は、import_db.sh となります。

重要

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

migrate_db8.5.0

migrate_db コマンドは、スキーママイグレーション機能を提供します。(内部では flyway を使っています。)

Community Edition を含めています。

現在、稼働しているデータベースのテーブル定義(旧)と、入れ替えようとしているアプリケーション wagbyapp に含まれるテーブル定義(新)の差分をとり、差を埋めるための SQL (alter table 命令) を発行します。

準備すること (本機能を利用するときに必要な設定)

"環境 > データベース > メイン > 環境" の "列にデフォルト値を設定する" を有効にしてください。(サブデータベースでも利用する場合、同様にサブデータベースの "列にデフォルト値を設定する" を有効にしてください。)

注意

[ご注意ください] R8.4.x からバージョンアップした場合、本設定を有効にしてビルドすると、既存のテーブル定義が変更されます。[詳細...]

操作方法

1. 最初の操作

wagbyapp/bin フォルダに含まれる migrate_db.bat を実行します。次の処理が行われます。

  • $(DEVHOME)/migratedb が作成される。ここにはDDLの履歴ファイルが格納されます。
  • 利用しているデータベースに flyway 用の管理テーブル flyway_schema_history が作成されます。

2. スキーママイグレーションを行う

リポジトリを変更し、ビルドすると新しい wagbyapp が用意されます。その後に再度 migrate_db.bat を実行すると、テーブル定義の差分が自動適用されます。

ご注意ください。適用したスキーマ変更を「戻す」ことはできません。

対応するデータベース

本機能は MySQL (5.7以上) と PostgreSQL (9.4以上) で利用できます。それ以外のデータベースではご利用いただけません。

対応する Wagby のバージョン

R8.5.0 以降の Wagby で対応しています。

スキーママイグレーションをやめる

flyway での履歴管理をやめる場合は次のコマンドを入力します。

> migrate_db.bat clean

これにより $(DEVHOME)/migratedb 及び flyway_schema_history テーブルが削除されます。

技術仕様

必須項目の扱い

必須項目には自動的にデフォルト値がセットされます。Wagbyが生成するDDL(create table)のカラムに定義されたデフォルト値が使われます。

順序の扱い

"新" の方に順序が新しく用意された場合、マイグレーションによって順序も作成されます。

順序の自動作成は、DB2 は未対応です。DB2 利用時は手動で順序を作成してください。

その他の情報

扱うデータサイズが巨大の場合

各スクリプト実行時に "Out Of Memory" (メモリ不足) というエラーメッセージが表示されることがあります。この場合、次のように対応します。

  1. テキストエディタでスクリプトファイルを開きます。
  2. スクリプトファイル内に -Xmx という表記でメモリサイズを指定している箇所があります。
    -Xmx512m
    標準では "512m" (512メガバイト)となっています。この値を大きくし、ファイルを保存します。(例 1024m とする。)
  3. 編集後、スクリプトファイルを再度、実行します。