Upgrade Failed due to the Error "No Group exists with the primary key xxxxxx"

Issue

  • When doing database upgrade from 7.0 de-98 to 7.4, the upgrade failed with the following error:
    ERROR [main][ReleaseManagerImpl:183] Failed upgrade process for module
    com.liferay.dynamic.data.mapping.service
    com.liferay.portal.kernel.upgrade.UpgradeException: com.liferay.portal.kernel.exception.NoSuchGroupException: No Group exists with the primary key 3208897
        at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:136)b ~[portal-kernel.jar:?]
    ......

 

Environment

  • Liferay DXP 7.0, Liferay DXP 7.3

 

Resolution

  • The error means that some data in DDMStructureLayout table have a groupId that doesn't exists in Group_ table. 
  • Use the attached Groovy script to clean the orphaned data. 
  • Steps:
    1. Back up the database
    2. Go to Control Panel > Configuration > Server Administration > Script
    3. Copy the content of the attached script and paste it into the text area
    4. The script should be running successfully and deleting messages show in the log like below:
      2023-04-21 00:51:21.778 INFO [http-nio-8080-exec-8][DeleteOrphanedDDMStructureLayouts:?]
      Deleting DDM structure layout 3210052 as its group id does not exist…

 

Additional Information

  • The script is successfully run in Liferay DXP 7.0 de-98 and Liferay DXP 7.3 SP3. It may also work in other DXP versions. You may backup the database and test the script at your discretion.
这篇文章有帮助吗?
1 人中有 1 人觉得有帮助