R8.4.xへの移行

最終更新日: 2020年6月12日

システムテーブル jprincipal の変更

システムテーブル jprincipal が変更されています。旧版から移行する場合は次の対応を行ってください。

旧テーブルのすべての削除と再作成を行う場合

Wagbyのバージョンアップのもっとも標準的な方法です。移行前(旧)の状態で全データをエクスポートし、テーブルを削除します。移行後(新)のテーブルを作成し、データをインポートします。これによって jprincipal は新しい形式に自動的に変更されます。

移行の前後でモデル定義の変更がない(テーブル定義の変更もない)場合

システムテーブル jprincipal の変更のみを行うことができます。次の手順となります。

  1. 旧システムでデータのエクスポートを行います。
  2. コンソールを開きます。新システムの wagbyapp\bin フォルダで次のコマンドを実行します。
    drop_db.bat juser
    import_db.bat ..\..\export\[1.で用意したバックアップデータが格納されたフォルダ] juser
    
  3. 新システムを起動します。

詳細

R8.4.0 から、import_bat コマンドの第二引数にモデルIDを指定できるようになりました。

このとき juser のインポート処理時に、特別に jprincipal の ID を旧方式から新方式に振り替える操作が行われます。これによって新方式に自動的に移行されます。

重要

[ご注意ください] この手順を行わない場合、移行後のシステムでは既存アカウントでログオンできません。

サブデータベース 8.4.0/8.4.1

R8.4.0/R8.4.1のWagbyで必要になります。R8.4.2以降はこの設定は不要です。

サブデータベースを利用する場合、開発者は customize/resources/myapplication.properties を用意し、次の行を含めるようにしてください。

spring.main.allow-bean-definition-overriding=true

Spring Batch

Spring Batch を利用する場合、開発者は customize/resources/myapplication.properties を用意し、次の行を含めるようにしてください。

spring.main.allow-bean-definition-overriding=true
spring.batch.initialize-schema=never

マルチセッション

Spring Boot 2 では次の設定が動作しなくなりました。

spring.session.store-type=HASH_MAP

これに代わり、MapSessionRepository を使う方法が提供されています。Wagby R8.4.0 では、この方法を使ってマルチセッションを動作させるように内部の挙動を変えています。

開発者は application.properties をカスタマイズする場合、上の指定は行わないようにしてください。(指定すると動作しなくなります。)

application.properties

カスタマイズフォルダ customize/resources に myapplication.properties ファイルを用意している場合、context-parameters の設定が変わります。

R8.3.xまでは server.context-parameters.キー となっていたものが、R8.4 以降は server.servlet.context-parameters.キー となります。

例:データ削除のタイミングでファイルの実体を削除する設定

R8.3.xまで

server.context-parameters.file_delete_mode=UnsavedFile

R8.4以降

server.servlet.context-parameters.file_delete_mode=UnsavedFile

Wagby Testing Framework への影響 8.4.1

R8.4.0より、アカウントモデル(juser)のプリンシパル項目の見た目が変わりました。これまではチェックボックスでしたが、これが「タブ + チェックボックス」となっています。

R8.4.1で、このテストに対応しました。開発者が作成したテストプログラムはそのままで、新しいアカウントモデルのテストに対応しています。

R8.4.0の場合

R8.4.0に同梱されている WTF は、新しい「タブ + チェックボックス」に対応していません。このため R8.3.x まで利用していた WTF のプログラムで、juserに関するテストが失敗する場合があります。R8.4.0 で WTF を使う場合は次の回避策を行ってください。(R8.4.1 以降は、以下に記載する回避策は不要です。)

対策

定義されているプリンシパル一覧の「カテゴリ」を空白にします。(リンク先ページの図4をご確認ください。)

カテゴリを空白にすると、プリンシパルの表示方式が R8.3.x に戻ります。これによって従来の WTF が動作するようになります。