mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-26 17:34:41 +00:00
Minor: Fix Policy rule migration due to owner -> owners (#17285)
This commit is contained in:
parent
dd8158552c
commit
9fcbf6a5b9
@ -3,6 +3,7 @@ package org.openmetadata.service.migration.mysql.v150;
|
|||||||
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.createSystemDICharts;
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.createSystemDICharts;
|
||||||
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.deleteLegacyDataInsightPipelines;
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.deleteLegacyDataInsightPipelines;
|
||||||
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.migrateAutomatorOwner;
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.migrateAutomatorOwner;
|
||||||
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.migratePolicies;
|
||||||
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.migrateTestCaseDimension;
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.migrateTestCaseDimension;
|
||||||
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.updateDataInsightsApplication;
|
import static org.openmetadata.service.migration.utils.v150.MigrationUtil.updateDataInsightsApplication;
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ public class Migration extends MigrationProcessImpl {
|
|||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void runDataMigration() {
|
public void runDataMigration() {
|
||||||
|
migratePolicies(handle, collectionDAO);
|
||||||
migrateTestCaseDimension(handle, collectionDAO);
|
migrateTestCaseDimension(handle, collectionDAO);
|
||||||
createSystemDICharts();
|
createSystemDICharts();
|
||||||
deleteLegacyDataInsightPipelines(pipelineServiceClient);
|
deleteLegacyDataInsightPipelines(pipelineServiceClient);
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package org.openmetadata.service.migration.utils.v150;
|
package org.openmetadata.service.migration.utils.v150;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -13,6 +16,7 @@ import org.jdbi.v3.core.Handle;
|
|||||||
import org.openmetadata.schema.dataInsight.custom.DataInsightCustomChart;
|
import org.openmetadata.schema.dataInsight.custom.DataInsightCustomChart;
|
||||||
import org.openmetadata.schema.dataInsight.custom.LineChart;
|
import org.openmetadata.schema.dataInsight.custom.LineChart;
|
||||||
import org.openmetadata.schema.dataInsight.custom.SummaryCard;
|
import org.openmetadata.schema.dataInsight.custom.SummaryCard;
|
||||||
|
import org.openmetadata.schema.entity.policies.Policy;
|
||||||
import org.openmetadata.schema.entity.services.ingestionPipelines.IngestionPipeline;
|
import org.openmetadata.schema.entity.services.ingestionPipelines.IngestionPipeline;
|
||||||
import org.openmetadata.schema.tests.TestDefinition;
|
import org.openmetadata.schema.tests.TestDefinition;
|
||||||
import org.openmetadata.schema.type.DataQualityDimensions;
|
import org.openmetadata.schema.type.DataQualityDimensions;
|
||||||
@ -150,6 +154,43 @@ public class MigrationUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void migratePolicies(Handle handle, CollectionDAO collectionDAO) {
|
||||||
|
String DB_POLICY_QUERY = "SELECT json FROM policy_entity";
|
||||||
|
try {
|
||||||
|
handle
|
||||||
|
.createQuery(DB_POLICY_QUERY)
|
||||||
|
.mapToMap()
|
||||||
|
.forEach(
|
||||||
|
row -> {
|
||||||
|
try {
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
JsonNode rootNode = objectMapper.readTree(row.get("json").toString());
|
||||||
|
ArrayNode rulesArray = (ArrayNode) rootNode.path("rules");
|
||||||
|
|
||||||
|
rulesArray.forEach(
|
||||||
|
ruleNode -> {
|
||||||
|
ArrayNode operationsArray = (ArrayNode) ruleNode.get("operations");
|
||||||
|
for (int i = 0; i < operationsArray.size(); i++) {
|
||||||
|
if ("EditOwner".equals(operationsArray.get(i).asText())) {
|
||||||
|
operationsArray.set(i, operationsArray.textNode("EditOwners"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
String updatedJsonString =
|
||||||
|
objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);
|
||||||
|
Policy policy = JsonUtils.readValue(updatedJsonString, Policy.class);
|
||||||
|
policy.setUpdatedBy("ingestion-bot");
|
||||||
|
policy.setUpdatedAt(System.currentTimeMillis());
|
||||||
|
collectionDAO.policyDAO().update(policy);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.warn("Error migrating policies", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.warn("Error running the policy migration ", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void migrateTestCaseDimension(Handle handle, CollectionDAO collectionDAO) {
|
public static void migrateTestCaseDimension(Handle handle, CollectionDAO collectionDAO) {
|
||||||
String MYSQL_TEST_CASE_DIMENSION_QUERY =
|
String MYSQL_TEST_CASE_DIMENSION_QUERY =
|
||||||
"SELECT json FROM test_definition WHERE JSON_CONTAINS(json -> '$.testPlatforms', '\"OpenMetadata\"')";
|
"SELECT json FROM test_definition WHERE JSON_CONTAINS(json -> '$.testPlatforms', '\"OpenMetadata\"')";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user