diff --git a/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py b/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py index 7cfca8c9f87..ad342276ac7 100644 --- a/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py +++ b/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py @@ -22,7 +22,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.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 @@ -138,6 +138,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 (