Wagby EE のアップグレード
最終更新日: 2024年7月31日
本ドキュメントは、R7.x から R7.y, R8.x から R8.y, R9.x から R9.y へのバージョンアップ方法について記載しています。R6 から R8 へのバージョンアップは別途、リポジトリの移行ツールを利用します。[詳細...]
Wagbyのバージョンアップに際しては、次の手順を行ってください。(同じバージョンの Wagby を使って再ビルドする場合、この手順はスキップして、次節へ進みます。)
現行システムのリポジトリのバックアップを取得します。wrb_ ではじまる zip ファイルとなります。これをダウンロードし、任意の作業用フォルダに保持しておきます。
現行バージョンの Designer ならびにビルドしたアプリケーションを停止します。
1台の開発機に、複数のバージョンのWagbyをインストールすることができます。フォルダ名をそれぞれ変えてインストールします。(例 Wagby-9.0.0 と Wagby-9.0.4)
ご購入者の方は、インストール後に開発者キットのライセンスキーを適用してください。複数のバージョンのWagbyに同じライセンスキーを適用できます。
Unlimited Team をご利用の場合、WagbyDesigner にログオンできるユーザ情報を新しい Wagby へ移してください。[詳細...]
新バージョンの Wagby Desinger を起動します。1. で取得したリポジトリを読み込みます。
復元処理のタイミングで、自動的に新バージョン向けリポジトリへ移行されます。
ご注意ください:旧版の repository フォルダをそのまま新版の repository フォルダへコピー(または移動)することはできません。必ず wrb_ で始まるバックアップファイルを作成し、上記のリストア処理で復元してください。
バージョンごとにルールが定められています。詳細はこちらをお読みください。
新版のDesignerを起動します。ブラウザのキャッシュをクリアしてからDesignerにログオンし、フルビルドを行ってください。
できあがったアプリケーションを「新システム」と呼びます。次節で、入れ替えの手順を説明します。
バージョンアップによってDesignerに同梱されているJavaScriptファイルが更新されています。新しいファイルを強制的に読み込ませるため、キャッシュクリアを行なってください。古いファイルを読み込んでしまうと、画面に "undefined" という文字が表示されるといった不具合が生じる場合があります。
本番運用サーバで、現行システムから新システムへの入れ替えを行う手順を説明します。新システムはフルビルドによって生成されたものとします。具体的な入れ替え手順は次の通りです。
以下、詳細を説明します。
Windowsサービスへ登録している場合は、Windows の [管理ツール] から停止し、サービスを削除して下さい。
Windowsサービスに登録していない場合は wagbyapp\bin\shutdown.bat を実行して下さい。
次のケースに1つでも該当する場合、本手順を行って下さい。
エクスポートはコマンドラインでの操作を行ってください。
drop_db.bat を使うと現時点のデータとテーブルが全削除されます。これはWagbyアプリケーションの入れ替えに必要な手順ですが、入れ替えに失敗した場合に速やかに元に戻せるよう、データベースが提供するバックアップツールを使って、データベースの物理ファイルをバックアップすることを推奨します。
現行システムのフォルダ名「wagbyapp」を「wagbyapp.old」に変更して下さい。
「wagbyapp.old」がすでにある場合は、「wagbyapp.old20180301」のように重複しないフォルダ名を使用して下さい。
ビルドした新システムをサーバマシンへコピーします。旧システムと同じフォルダ名にしてください。これによって Apache や IIS と連携していた場合でも、同じ環境を引き継いで利用できます。
「2. 現行システムに含まれているすべてのデータをエクスポートする」を行なった場合は以下の手順を実行して下さい。
2.の手順で「外部データベースを利用している場合、drop_db.bat コマンドを使ってテーブルの削除処理」を行わないと、入れ替え後の新テーブル作成でエラーになります。この手順を行ったかどうかを確認してください。
「ファイル型」項目に対してアップロードを行ったファイルは、現行システムの upload_dir フォルダ以下に保存されています。同フォルダ以下を新システムに移動(またはコピー)します。
スキーママイグレーション機能を使っている場合、現行システムのWagbyインストールフォルダ直下に migratedb フォルダが用意されています。これを新システムにコピーします。
現行システムの「ライセンスキーファイル」を、新システムにコピーしてください。ライセンスキーファイルは wagbyapp\webapps\$(APPNAME)\WEB-INF\classes にある appschema-licensekey.xml です。
これは同じサーバを使う場合です。サーバ機を変えた場合は、ライセンスキーは新規取得となります。
この手順は不要です。次へ進みます。
Windowsサービスとして起動する場合は、Windows サービスの登録を行い、Windows管理ツールから起動して下さい。
そうでない場合はwagbyapp\bin\startup.batを実行して下さい。
Web ブラウザから所定のアドレスを入力します。特定のアカウントでログオンし、メニューが表示されることを確認して下さい。
ログオン処理に失敗する場合は、データベース接続が失敗している可能性があります。いったん新システムを停止したのち、wagbyapp/logs フォルダの system.log を開き、エラーメッセージが含まれていないか、確認してください。
バージョンアップによってwagbyappに同梱されているJavaScriptファイルが更新されています。常に新しいJavaScriptを読み込むようにつくられていますが、ブラウザが古いファイル(キャッシュ)を使うと正しく動作しません。そのため、バージョンアップ後は利用者PCのブラウザのキャッシュクリアも行うことを推奨します。それでも動作がおかしい場合、キャッシュクリアとは別に、"SHIFT" + "リロード" で、強制的なページ再読み込みを行うことも効果があります。
次の設計情報の変更は、テーブル定義に影響を与えることがあります。
これらの設定変更(設定の解除を含む)を行った場合、テーブル定義が変更されます。この場合はデータのエクスポートとインポート処理が必要になります。
現在の稼働環境のwagbyapp\webapps\$(APPNAME)\WEB-INF\export\conf\createddl
と、バージョンアップ版でビルドした後の wagbyapp の同フォルダ内のファイルに差分があるかどうかをご確認ください。差分がなければテーブルをそのまま利用できます。
バージョンアップでは、Wagby本体に同梱されるシステム系のテーブルに変更が生じている場合があります。この場合は、当該テーブルのみを対象にデータをエクスポートし、テーブルの再作成(dropとcreate)を行ったあとデータのインポートを行うとよいでしょう。
export_db.bat や import_db.bat は全てのテーブルを対象とします。これらのコマンドの実体は InitLoader.jar というものです。InitLoader.jar を直接操作することで、テーブルを限定した操作を行うことができます。
システムテーブルの変更履歴をまとめています。 この内容に沿って、手動でデータベースのテーブルを変更することもできます。この場合は旧データのエクスポートおよびインポート処理(上の手順の「2.現行システムに含まれているすべてのデータをエクスポートする」と「5.新システムへデータをインポートする」を省略することができます。
新しいモデルを追加した場合、データ復元の考え方は次の通りです。
新システムに対して、現行システムでバックアップ(export)したデータを復元(import)します。importコマンドによって、追加モデルのテーブルも用意されます。
1. で、現行システムから復元したデータには、追加した選択肢モデルの初期値が含まれていません。そこで追加分については、初期データ (data_init) フォルダを指定して、個別にインポートを行います。このタイミングでテーブルも作成されます。
Wagby EEのバージョンアップを行う
重要
1. リポジトリのバックアップ
2. 現行システムの停止
3. 新しいWagbyのインストール
4. リストア(リポジトリの復元)
ワンポイント
重要
リポジトリ移行時の詳細なルール
5. フルビルド
ブラウザのキャッシュクリアは何のため?
運用中の Web アプリケーションを更新する
1. 現行システムを停止する
2. 現行システムに含まれているすべてのデータをエクスポートする
drop_dbを行う前に
3. 現行システムのフォルダ名を変更する
4. 新システムを本番運用サーバへコピーする
5. 新システムへデータをインポートする
import_dbでエラーが発生する
6. 現行システムの関連ファイルを引き継ぐ
ファイル型項目
スキーママイグレーション
7. ライセンスキーの適用
プロジェクトライセンスの場合
注意
無制限開発ライセンスの場合
8. 新システムを起動する
9. 接続確認を行う
利用者PCのブラウザのキャッシュクリアも行った方がいい?
データのインポート処理が必要かどうかの判断について
もっと詳しく
注意
変更のあったテーブルのみインポート、エクスポートする
システムテーブルの変更を手動で対応する
モデルを追加した場合の手順
選択肢モデルを含まない
選択肢モデルを含む