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:
- Back up the database
- Go to Control Panel > Configuration > Server Administration > Script
- Copy the content of the attached script and paste it into the text area
- 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.