Knowledge Base
Published Jun. 30, 2025

Data Sets are not working after upgrading to 2025.q1.4-lts where the feature is released

Written By

Ahmed Abdin

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How to articles!

While we make every effort to ensure this Knowledge Base is accurate,it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Issue

  • I upgraded from 2024.q4.7 to 2025.q1.4-lts. After the upgrade, we encountered issues with Data Sets. In 2024.q4.7 I was using datasets as beta but as in 2025.q1.4 its released. I have enabled Root Objects and Datasets both release flags but the data Sets are not available on the page and returns an error.

Environment

  • Liferay Quarterly Release 2025.q1.4-lts

Resolution

  • The issue occurs because the Dataset feature was used while it was a Beta feature (was still under development), and after upgrading to the release where the feature was officially released, the data has changed.
  • To resolve the case, please perform the following:

Note: Please test the solution first in a lower environment and make a backup of your database before testing.

1. Deactivate Feature Flags

  • LPS-164563 – Data Set Manager
  • LPD-34594 – Root Object Definitions (dependency of the above)

To ensure LPS-164563 is disabled:
Enable LPD-34594, verify LPS-164563 is still disabled, then disable LPD-34594.

If you disabled the feature flags through the UI, please restart Liferay for the changes to take effect.

2. Run the Following SQL Scripts

(Replace XXXXX with your Liferay INSTANCEID)

-- Drop Data Set-related tables
drop table L_XXXXX_DataSet;
drop table L_XXXXX_DataSet_x;
drop table L_XXXXX_DataSetAction;
drop table L_XXXXX_DataSetAction_x;
drop table L_XXXXX_DataSetAction_l;
drop table L_XXXXX_DataSetCardsSection;
drop table L_XXXXX_DataSetCardsSection_x;
drop table L_XXXXX_DataSetClientExtensionFilter;
drop table L_XXXXX_DataSetClientExtensionFilter_l;
drop table L_XXXXX_DataSetClientExtensionFilter_x;
drop table L_XXXXX_DataSetDateFilter;
drop table L_XXXXX_DataSetDateFilter_l;
drop table L_XXXXX_DataSetDateFilter_x;
drop table L_XXXXX_DataSetListSection;
drop table L_XXXXX_DataSetListSection_x;
drop table L_XXXXX_DataSetSelectionFilter;
drop table L_XXXXX_DataSetSelectionFilter_l;
drop table L_XXXXX_DataSetSelectionFilter_x;
drop table L_XXXXX_DataSetSort;
drop table L_XXXXX_DataSetSort_l;
drop table L_XXXXX_DataSetSort_x;
drop table L_XXXXX_DataSetTableSection;
drop table L_XXXXX_DataSetTableSection_l;
drop table L_XXXXX_DataSetTableSection_x;

-- Clean up object definitions and relationships
delete from ObjectDefinition where externalReferenceCode like 'L_DATA_SET%';
delete from ObjectRelationship where externalReferenceCode like 'L_DATA_SET%';

-- Clean up orphaned ObjectFolderItems
-- First, get the ObjectFolderId of the default folder:
-- SELECT * FROM ObjectFolder where externalReferenceCode = 'default';
-- Replace XXXXX below with the ObjectFolderId from above:
delete from ObjectFolderItem 
where objectFolderId = XXXXX 
  and objectDefinitionId NOT IN (select objectDefinitionId from ObjectDefinition);

-- Final cleanup of unused object references
delete from ObjectField where objectDefinitionId NOT IN (select objectDefinitionId FROM ObjectDefinition);
delete from ObjectFieldSetting where objectFieldId NOT IN (select objectFieldId FROM ObjectField);
delete from ObjectEntry where objectDefinitionId NOT IN (select objectDefinitionId FROM ObjectDefinition);
delete from ObjectStateFlow where objectFieldId NOT IN (select objectFieldId FROM ObjectField);
delete from ObjectState where objectStateFlowId NOT IN (select objectStateFlowId FROM ObjectStateFlow);
delete from ObjectStateTransition where objectStateFlowId NOT IN (select objectStateFlowId FROM ObjectStateFlow);

3. Final Steps

  • Restart Liferay.
  • Reindex the system.
  • Reactivate feature flags: LPD-34594 and LPS-164563.
  • Restart Liferay again.
  • Reindex once more.

4. Verification

Check the Object Definitions list and ensure the "Permission Inheritance Model" column shows:

  • "Root object" for one entry
  • "Inherited" for the rest (instead of "System")
Did this article resolve your issue ?

Knowledge Base