データベースアップグレードツールのリファレンス
Liferay 7.4 U82/GA82 より前は、 db_upgrade_client.sh ファイルは db_upgrade.sh と呼ばれていました。
ここでは、Liferayのアップグレードツールの概要について説明します。
[LIFERAY_HOME]/tools/portal-tools-db-upgrade-clientフォルダ(Windowsではdb_upgrade_client.bat)にあるdb_upgrade_client.shスクリプトを使用して、アップグレードツールを起動します。
概要
データベースアップグレードツールの使用
次のコマンドは、アップグレードツールの使用状況を出力します。
db_upgrade_client.sh --help
次に、アップグレードツールのすべてのコマンドラインオプションを示します。
–help または -h: ツールのヘルプメッセージを表示します。
–jvm-opts または -j + [arg]: アップグレード プロセス用の JVM オプションを設定します。
–log-file または -l + [arg]: ツールのログファイル名を指定します—デフォルト名は upgrade.log です。
–シェル または -s: アップグレード処理が完了すると、自動的に Gogo シェル に接続されます。
ログ出力
-lオプションは、ツールのログファイル名を指定します。
db_upgrade_client.sh -l "output.log"
推奨されるJVMオプション
アップグレードツールは、指定されていない場合、以下のデフォルトのJVMパラメータを自動的に適用します。
-Dfile.encoding=UTF8-Duser.country=US-Duser.language=en-Duser.timezone=GMT-Xmx4096m
デフォルト値と異なる場合にのみ、カスタム値を指定してください。
データベースアップグレードツールはDXPデータベース上で動作するため、DXPアプリケーションサーバーで使用するものと同じJVMオプションを使用してアップグレードツールを構成する必要もあります。 国と言語のJVMオプションを使用した場合は、それらをアップグレードツールに指定してください。
また、アップグレードツール用の初期メモリ(-Xmx value)も割り当てます。 少なくとも4GBを使用してください。 DXPデータベースに10GBを超えるデータがある場合は、初期メモリを増やしてください。
3.2 GBのデータベースと15 GBのドキュメントライブラリを使用したテストシナリオでは、8GBのRAM(-Xmx8000m)を指定するのが最適でした。
これらの設定に対応するコマンドは、 db_upgrade_client.sh です。
db_upgrade_client.sh -j "-Xmx8000m"
アップグレードツールの設定
コアのアップグレードには設定が必要です。 最も簡単な方法は、アップグレードツールを使用して構成ファイルをオンザフライで作成することです。 次に、アップグレードツールのコマンドラインインターフェースとの対話の例を示します。
$ ./db_upgrade_client.sh
Please enter your Liferay home (/opt/liferay):
[ jboss tomcat weblogic wildfly ]
Please enter your application server (tomcat):
Please enter your application server directory (/opt/liferay/tomcat):
Please enter your extra library directories in application server directory (./bin):
Please enter your global library directory in application server directory (./lib):
Please enter your portal directory in application server directory (./webapps/ROOT):
[ db2 mariadb mysql oracle postgresql sqlserver ]
Please enter your database (postgresql):
Please enter your database JDBC driver class name (org.postgresql.Driver):
Please enter your database JDBC driver protocol (jdbc:postgresql://):
Please enter your database host (localhost):
(etc.)
省略された値は、括弧内に表示されているデフォルトを使用します。
また、アップグレードツールを事前設定して、ツールが生成するよりも多くの値を設定することもできます。 [LIFERAY_HOME]/tools/portal-tools-db-upgrade-client/ にあるこれらのファイルを使用して、コアアップグレードを手動で構成します。
app-server.properties:サーバーの場所とライブラリを指定します。portal-upgrade-ext.properties: アップグレードに必要なデータベース接続とその他のすべてのポータルプロパティを設定します。 現在のDXPサーバーを複製するには、現在のポータルプロパティ(データベースプロパティを除く)をこのファイルにコピーします。 現在のプロパティを使用する前に、必ず現在のDXPバージョンにアップデートしてください。
portal-upgrade-database.properties ファイルは、Liferay DXP 2026.Q1 以降非推奨です。 すべてのデータベース構成プロパティは、 portal-upgrade-ext.properties に配置する必要があります。 portal-upgrade-database.properties が存在する場合、アップグレードツールは警告を表示してそれを無視します。
app-server.propertiesの設定
DXPのアプリケーションサーバーを設定するには、次の情報を指定します。
| プロパティ名 | 意味 | メモ |
|---|---|---|
dir | アプリケーションサーバーフォルダの絶対パス。 | - |
extra.lib.dirs | クラスパスに追加するバイナリまたはリソースを含む追加のディレクトリのカンマ区切りリスト。 | dirに関連するパスを使用します。 |
global.lib.dir | アプリケーションサーバーのグローバルライブラリディレクトリ。 | dirに関連するパスを使用します。 |
portal.dir | アプリケーションサーバーでポータルがインストールされているディレクトリ。 | dirに関連するパスを使用します。 |
server.detector.server.id | サポートされているアプリケーションサーバーのID。 | サポートされているID: jboss、 tomcat、 weblogic、 wildfly |
相対パスは、アプリケーションサーバーディレクトリからの相対パスであることを明確に示すために、Unix スタイルの形式 (スラッシュ) と ./ というプレフィックスを使用する必要があります。 たとえば、次のプロパティはWindows用です。
dir=D:\liferay-dxp\tomcat
extra.lib.dirs=./bin
global.lib.dir=./lib
portal.dir=./webapps/ROOT
別の例として、次のプロパティはLinux用です。
dir=./tomcat
extra.lib.dirs=./bin
global.lib.dir=./lib
portal.dir=./webapps/ROOT
portal-upgrade-ext.propertiesの構成
次の情報を指定して、アップグレードするデータベースを構成します。 これらのプロパティは、 JDBC ポータル プロパティ に対応しており、 portal-ext.properties ファイルで使用するものです。
jdbc.default.driverClassNamejdbc.default.urljdbc.default.usernamejdbc.default.password
Liferay DXP 2026.Q1
アップグレードツールは、バッチ挿入操作用にJDBC URLを自動的に最適化します。 PostgreSQL、MySQL/MariaDB、およびSQL Serverへの接続の場合、適切なバッチ挿入パラメータは、接続URLに既に存在しない場合は自動的に追加されます。 以前のバージョンでは、これは手動で設定する必要がありました。
Liferay DXP 2026.Q1 以降、データベース構成プロパティは portal-upgrade-ext.properties で指定されるようになりました。 アップグレードツールは、既存の portal-ext.properties ファイルからこれらの設定を自動的に検出し、それらを再利用するように促します。
これらの値に関する参照については、最新の ポータルプロパティリファレンス を参照してください。
ポータルプロパティをすべて portal-ext.properties ファイルプロパティなど バックアップ から追加します。 次のプロパティは、アップグレードを設定するために特に重要です。
-
liferay.home: LIFERAY_HOME フォルダ。 -
dl.store.impl:ドキュメントをドキュメントライブラリストアに保持するための実装。 このプロパティは、*FileSystemStore実装を使用している場合にのみ必須です。portal-ext.propertiesでこのプロパティを更新した場合は、ここに新しい値をコピーします。 それ以外の場合は、次のいずれかの方法でプロパティを設定します。dl.store.impl=com.liferay.portal.store.file.system.FileSystemStore dl.store.impl=com.liferay.portal.store.db.DBStore dl.store.impl=com.liferay.portal.store.file.system.AdvancedFileSystemStore dl.store.impl=com.liferay.portal.store.s3.S3Store -
hibernate.jdbc.batch_size:パフォーマンスを向上させるために使用されるJDBCバッチサイズ(デフォルトでは250に設定)。 このプロパティを使用するとアップグレードのパフォーマンスが向上しますが、必須ではありません。 -
upgrade.log.context.enabled:trueに設定すると、識別子にタグ付けされたアップグレード関連のログ行が表示されます。 考えられる識別子は次のとおりです。{upgrade.component=portal}: ポータルに関連するアップグレードプロセス用{upgrade.component=framework}: アップグレードフレームワークロジックに関連するプロセス用{upgrade.component=<bundleSymbolicName>}: モジュールに関連するアップグレードプロセス用
この機能を使用するには、 portal-impl/src/META-INF/portal-log4j.xml ファイルを bundles/tomcat/webapps/ROOT/WEB-INF/classes/META-INF にコピーし、ファイル名を portal-log4j-ext.xml に変更する必要があります。 次に、アペンダーの定義を見つけます。
<Appender name="CONSOLE" type="Console">
<Layout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t][%c{1}:%L] %m%n" type="PatternLayout" />
</Appender>
スレッドコンテキスト情報を出力するようにLog4jに指示する %Xを含むように定義を変更します。
<Appender name="CONSOLE" type="Console">
<Layout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t][%c{1}:%L] %m %X%n" type="PatternLayout" />
</Appender>
詳細については、 アップグレードログコンテキスト を参照してください。
アップグレード構成の例
以下は、カスタマイズして[LIFERAY_HOME]/tools/portal-tools-db-upgrade-client/にコピーできるアップグレード構成ファイルの例です。
-
app-server.properties:dir=./tomcat extra.lib.dirs=./bin global.lib.dir=./lib portal.dir=./webapps/ROOT -
portal-upgrade-ext.properties:jdbc.default.url=jdbc:postgresql://localhost:5432/lportal jdbc.default.driverClassName=org.postgresql.Driver jdbc.default.username=root jdbc.default.password= liferay.home=/home/user/servers/liferaydxp module.framework.base.dir=/home/user/servers/liferaydxp/osgi dl.store.impl=com.liferay.portal.store.file.system.FileSystemStore