From 85d41f43b38ed0301a231053eb6c720f873fc4fa Mon Sep 17 00:00:00 2001 From: Aadil Latif Date: Sat, 6 Dec 2025 11:54:55 -0700 Subject: [PATCH] migration bug fix migrate_component_metadata need to remove fields recursively --- src/infrasys/migrations/metadata_migration.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/infrasys/migrations/metadata_migration.py b/src/infrasys/migrations/metadata_migration.py index 61454a9..393c640 100644 --- a/src/infrasys/migrations/metadata_migration.py +++ b/src/infrasys/migrations/metadata_migration.py @@ -16,6 +16,7 @@ def migrate_component_metadata(component_list: list) -> list: if not component_list: return [] for component in component_list: + metadata = component[TYPE_METADATA] if isinstance(metadata, dict) and "fields" in metadata: component[TYPE_METADATA] = metadata["fields"] @@ -25,5 +26,10 @@ def migrate_component_metadata(component_list: list) -> list: nested_metadata = value.get(TYPE_METADATA) if isinstance(nested_metadata, dict) and "fields" in nested_metadata: value[TYPE_METADATA] = nested_metadata["fields"] + elif isinstance(value, list): + if isinstance(value[0], dict): + nested_metadata = value[0].get(TYPE_METADATA) + if isinstance(nested_metadata, dict) and "fields" in nested_metadata: + component[key] = migrate_component_metadata(value) return component_list