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.deleteLegacyDataInsightPipelines;
|
||||
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.updateDataInsightsApplication;
|
||||
|
||||
@ -19,6 +20,7 @@ public class Migration extends MigrationProcessImpl {
|
||||
@Override
|
||||
@SneakyThrows
|
||||
public void runDataMigration() {
|
||||
migratePolicies(handle, collectionDAO);
|
||||
migrateTestCaseDimension(handle, collectionDAO);
|
||||
createSystemDICharts();
|
||||
deleteLegacyDataInsightPipelines(pipelineServiceClient);
|
||||
|
@ -1,5 +1,8 @@
|
||||
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.Optional;
|
||||
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.LineChart;
|
||||
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.tests.TestDefinition;
|
||||
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) {
|
||||
String MYSQL_TEST_CASE_DIMENSION_QUERY =
|
||||
"SELECT json FROM test_definition WHERE JSON_CONTAINS(json -> '$.testPlatforms', '\"OpenMetadata\"')";
|
||||
|
Loading…
x
Reference in New Issue
Block a user