このコンテンツではJPiere7.1をJPiere8.2へのバージョンアップに伴うマイグレーションのメモです。ついでにPostgreSQLも10から11にバージョンアップします。
PostgreSQL10からPostgreSQL11へのバージョンアップ
JPiere7.1のデータベースのダンプファイルは、PostgreSQL10で作成しています。JPiere8.2からはPostgreSQL11で作成したいと考えているため、JPiereのバージョンアップに伴いPostgreSQLも10から11へバージョンアップします。
JPiere7.1のダンプファイルの取得
PostgreSQL10で作成しているJPiere7.1のダンプファイルをあらかじめ取得しておきまます。
PostgreSQL11のインストール
この時点の最新バージョン11.10をインストール。
PostgreSQL11へのJPiere7.1のダンプファイルのリストア
Windows10の環境で実行しましたが、特にエラー無く正常終了しています。
※もし、ここで何かしらのエラーに遭遇した場合は、そのエラー原因を特定して適切な対応が必要です。
i7.1zのマイグレーションスクリプトの適用
migrationフォルダのi7.1zにあるスクリプトを原則全部実行します。しかし、下記の点に注意して下さい。
IDEMPIERE-3358:Dictionary fixes のマイグレーションスクリプトについて
202006031349_IDEMPIERE-3358.sqlを実行すると下記のエラーが表示されます。
これは、下記のSQLを実行した事によるエラーだと思われます。
-- Jun 3, 2020, 3:10:40 PM CEST
INSERT INTO AD_TreeBar (AD_Tree_ID,AD_User_ID,Node_ID, AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy)VALUES (10,100,383,0,0,'Y',statement_timestamp(),100,statement_timestamp(),100);
このSQLは、202006031349_IDEMPIERE-3358.sqlの最後のSQLであり、”お気に入りのメニュー”を追加するSQLであり、かつそのデータは既に登録されている"キャシュリセット"なので、エラーになってもそのまま無視して大丈夫だと思います。
IDEMPIERE-4426:Fix add_months and adddays functions
202008171626_IDEMPIERE-4426.sqlをそのまま実行すると次のようなエラーがでる。
JP_OpenItemビューでAddDays関数を使用しておこるエラーです。そのため、202008171626_IDEMPIERE-4426.sqlを実行する前に先にJP_OpenItemビューをドロップします。その後で、202008171626_IDEMPIERE-4426.sqlを実行し、再度JP_OpenItemビューを作成します。
i8.1zのマイグレーションスクリプトの適用
migrationフォルダのi8.1zにあるスクリプトを原則全部実行します。
JPBPのバージョンアップ対応
pom.xmlとMANIFEST.MFの修正は基本。
IDEMPIERE-2902 : JPiereBasePluginEditorFactoryクラスの修正
ラジオボタンが実装されたのに伴い、IEditorFactoryクラスに下記のメソッド定義が追加されているため実装する必要があります。※参照:IDEMPIERE-2902 UX: Implement Radio buttons (#326)
- public WEditor getEditor(GridTab gridTab, GridField gridField, boolean tableEditor, IEditorConfiguration editorConfiguration);