R7リポジトリからR8への移行最終更新日: 2019年9月27日

準備

移行元(旧版のR7)

Designerを起動したときに表示されるモデル定義情報が移行対象になります。ビルド処理を行う必要はありません。

移行先(新版のR8)

初期リポジトリの状態に戻しておきます。

移行ツール(GUI版)の使い方

Java 11 以降をご利用の場合

Java 11 以降の環境をご利用の場合、GUI アプリケーションではなくコマンドラインでの操作となります。詳細はこちらをお読みください。

Java 8,9,10 をご利用の場合

インストールした Wagby R8 の misc フォルダ内に含まれている移行ツール「RepositoryMigration-X.X.X.jar」をダブルクリックして実行します。(X.X.Xの部分にはバージョン番号が入ります。Wagbyのバージョンによって同梱されるツールのバージョンも異なります。)

図1 移行ツールを実行する

ワンポイント

移行ツールは Java アプリケーションです。拡張子が ".jar" のファイルは Java がインストールされているコンピュータであれば、ダブルクリックで実行することができます。

変換方法に「R7からR8」を選択します。変換元Wagbyは、旧版のR7をインストールしたフォルダを指定します。変換先Wagbyは変更する必要はありません。

設定後、「移行開始」ボタンを押下します。

図2 変換方法と変換元の指定

移行が終了すると、図3のようなダイアログが表示されます。 「OK」ボタンを押下してダイアログを閉じたあと、ファイルメニューから「終了」を選択するか、またはウィンドウの閉じるボタンで本ツールを終了します。

図3 移行完了メッセージ

トラブルシューティング : 実行できない

RepositoryMigration-X.X.X.jar をダブルクリックしても実行できない場合、次の方法をお試しください。

  1. Windows OS のコマンドプロンプトを開きます。
  2. Wagbyをインストールしたフォルダのmiscに移動します。"cd misc"
  3. 次のように手動で起動します。"%JAVA_HOME%\bin\java -jar RepositoryMigration-X.X.X.jar"

これでも実行できない場合、Java の再インストールをお試しください。(Java 8,9,10)

移行ツール(CUI版)の使い方

コンソールから移行ツールを稼働させる方法を説明します。Windows OS のコマンドプロンプトや、Linux OS で利用できます。

  1. Wagbyをインストールしたフォルダのmiscに移動します。
    図4 miscフォルダへ移動
  2. 次のコマンドを実行します。
    java -jar RepositoryMigrationCUI.jar 7to8 ..\..\Wagby-7.12.3
    図5 RepositoryMigrationCUI.jarの実行

    コマンドの第一引数は "7to8" とします。第二引数は、移行元となる Wagby のフォルダを指定します。上の例では R7.12.3 を指定していますが、適切に読み替えてください。

作業ログ

コマンド実行後、miscフォルダ直下にlogs/repositorymigration.logファイルが生成されます。この内容をご確認ください。

このログファイルが空であれば、特段の問題はなかった、ことを意味します。

移行のルール

移行ツールは次のルールに従って変換します。

  • R7.0.xのアカウントモデル(juser)の主キー項目idは廃止されます。代わってuserid項目が主キーとなります。
  • リポジトリの「値」部分は日本語表記から英語表記に変更になりました。そのため、移行後のリポジトリはキーは同じでも値部分が変わっています。
  • Excel帳票で、利用ライブラリ "JExcelAPI" は廃止されました。R6/R7からの移行後はすべて "POI" を利用するようになります。
  • スマートフォン対応で、携帯電話対応は廃止されました。"スマートフォン" に統一されます。
  • スマートフォン対応で、軽量フレームワーク iUI は廃止されました。"スマートフォン" に統一されます。
  • システムタブ内のモデルは移行対象ではなく、この版に同梱されているものを使うようになりました。ただし juser, jgroup, jnews, jfcstartworkstate, jfcsuspendworkstate を除きます。この5つのモデルは開発者が変更した定義が移行されます。

外部データベースの移行

R8 では外部データベースの指定がデータベースのバージョン毎に細かく指定できるようになりました。R7から移行したとき、次のようになります。移行後は必要に応じてデータベースの設定を変更してください。

  • PostgreSQL は "PostgreSQL 8.2" という設定になります。
  • Oracle は "Oracle 9i" という設定になります。
  • SQLServer は "SQLServer 2005" という設定になります。

移行後に手動で行うこと

移行がスキップされるモデル

「システム」タブに含まれているモデルは、旧版からの移行ではなく、新版に含まれているものを使います。すなわち、移行ツールの対象外になります。

ただし以下のモデルは除きます。すなわち開発者が変更した定義が(移行後も)引き継がれます。

  • juser
  • jgroup
  • jnews
  • jfcstartworkstate
  • jfcsuspendworkstate

上記以外のシステム系モデルを修正していた場合(例:メニュー体系を変更した)、手動で同じ修正を適用してください。

LDAP/ActiveDirectoryの設定

R7で利用していたLDAP/ActiveDirectoryの設定は廃止されました。R8方式の記載にあわせて再設定を行なってください。

カスタマイズコード

移行ツールでは、カスタマイズしたコード(Java,JSP,JavaScriptなど)は扱いません。 これらのファイルは開発者が手動で最新のR8向けコードに修正してください。

コードの修正方法の詳細は、Wagby販売パートナーへお問い合わせください。

データ移行

Wagbyが同梱しているシステムモデルの定義が変わっています。そのため既存のデータのバックアップを取得後、テーブルをいったん削除し、再作成を行なったあと、データのインポートを行なってください。

以下のモデルについては物理カラム名が変わったため、SQL文を使って手動対応を行なってください。

  • システムモデル jfcpreferenceitem, jfccspreferenceitem テーブル の key という項目。共通設定機能を利用していない場合は移行不要です。
  • システムモデル jfcworkflow_setting の繰り返しコンテナに対応したテーブル script_setting の condition という項目。ワークフローを使っていない、もしくはスクリプトによる制御を行なっていない場合は移行不要です。
コマンドラインツール InitLoader.jar でインポートを行うとよいでしょう。移行処理でエラーが発生した場合はサポートへお問い合わせください。

SQLServer 2012 以降の対応

SQLServer 2012 以降で順序を利用したとき、SQLServer が提供する SEQUENCE を利用できるようにしました。R7まではWagbyが独自に提供する順序テーブル (seq) を用いていました。

このとき、順序の開始値は手動で設定する必要があります。R7まで用意されていた seq モデル内に、モデル毎の最終順序値が記録されています。この値を使って、SQLServer データベースに直接、順序の開始値を設定してください。この対応は R7 からの移行時の最初だけ必要です。

注意

過去の互換性から、SQL Server が提供する SEQUENCE を使わず、これまで R7 で使われてきた seq テーブルを使った順序の管理を行いたいという場合は、データベースの選択肢を "SQLServer 2008" としてご利用ください。

CASからSpringSecurityへの移行

R8 では認証モジュールが CAS から Spring Security に変わりました。外部認証サーバの再設定を行ってください。

設定の注意点は次のとおりです。

  • 「ユーザ情報のDN」で、CAS でuid=%uと指定していた箇所は、Spring Security では uid={0} と記述します。

変更された仕様

R8.3.1までの移行ツール利用時の注意点8.3.2

R8.3.1までの移行ツールでは、R7のリポジトリキーが存在しない場合 (*) に、正しく移行されないものがあることがわかりました。R8.3.2でこの不具合が修正されました。

通常、R7ではすべてのリポジトリキーは存在します。ただし古いバージョンのR7からすぐにR8へ移行する、もしくはR7を段階的にバージョンアップしていた過程で、このようなケースが発生する可能性がありました。

すでにR7からR8へ移行済みだが、念のため正しく移行されないリポジトリがあるかどうかを確認する手順を示します。

  1. 元の(R7の)リポジトリを使って、R8.3.2以降に含まれる移行ツールで移行処理を行う。
  2. 移行後のログファイルを確認する。"set 値 key リポジトリキー modelId モデルID" という出力があった場合、このリポジトリキーの移行に問題があった可能性がある。現行のR8でその設定を確認し、R7と異なっていた場合、Desingerを使って手動で修正する。

問題のみつかったリポジトリキー

キー名 Designerの設定 Designerでの対応方法
action/updatelist/@use_copy_at_parent_model_copy 親モデルのコピー時に子モデルもコピーする チェックボックスを解除し、再度チェックする。