diff --git a/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py b/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py index a7f097efc33..45769f5935c 100644 --- a/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py +++ b/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py @@ -23,7 +23,7 @@ from pydantic import BaseModel from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest from metadata.generated.schema.entity.services.databaseService import DatabaseService from metadata.generated.schema.type.basic import FullyQualifiedEntityName, Uuid -from metadata.generated.schema.type.entityLineage import EntitiesEdge +from metadata.generated.schema.type.entityLineage import ColumnLineage, EntitiesEdge from metadata.generated.schema.type.entityReference import EntityReference from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper from metadata.ingestion.lineage.parser import LINEAGE_PARSING_TIMEOUT @@ -139,6 +139,18 @@ class OMetaLineageMixin(Generic[T]): ) ) + serialized_col_details = [] + for col_lin in data.edge.lineageDetails.columnsLineage or []: + serialized_col_details.append(ColumnLineage(**col_lin)) + data.edge.lineageDetails.columnsLineage = serialized_col_details + + serialized_col_details_og = [] + for col_lin in original.edge.lineageDetails.columnsLineage or []: + serialized_col_details_og.append(ColumnLineage(**col_lin)) + original.edge.lineageDetails.columnsLineage = ( + serialized_col_details_og + ) + # Keep the pipeline information from the original # lineage if available if (