問題
- プロダクションデータベース(MySQL)のコピーを使用して、Liferay 7.4 U62からU90へのアップグレードをテストしました。 アップグレードは以下のエラーで失敗しました:
INFO [main][UpgradeProcess:118] Upgrading com.liferay.portal.configuration.persistence.internal.upgrade.registry.ConfigurationPersistenceUpgradeStepRegistrator - Modifying table Configuration_ to alter the type of the column configurationId to VARCHAR(512) not null INFO [main][UpgradeProcess:136] Failed upgrade process com.liferay.portal.configuration.persistence.internal.upgrade.registry.ConfigurationPersistenceUpgradeStepRegistrator - Modifying table Configuration_ to alter the type of the column configurationId to VARCHAR(512) not null in 348 ms ERROR [main][UpgradeStepRegistratorTracker:178] Failed upgrade process for module com.liferay.portal.configuration.persistence.impl com.liferay.portal.kernel.upgrade.UpgradeException: java.sql.SQLException: Index column size too large. 最大カラムサイズは767バイト。
Environment
- Liferay DXP 7.4
解決策
- このエラーは、カラムにインデックスを作成するときに発生します。 通常は、データベースで設定されている文字セット/照合順序が異なることが原因です。 例えば、プロダクション・データベースは
utf8mb
4に設定され、ローカル・データベースはutf8に
設定されます。 MySQLでは、utf8は3バイトまで、utf8mb4は4バイトまでです。 そのため、ローカルデータベースでutf8mb4でインデックスを作成すると失敗します。 - 他の環境からデータベースのコピーを使用する場合は、ローカル環境で文字セット/照合順序が同じに設定されていることを確認してください。
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン