fix: restore overlay collision guidance

This commit is contained in:
Andrey Avtomonov 2026-05-24 11:20:52 +02:00
parent cc071f45b7
commit 83264c3ff1

View file

@ -195,12 +195,13 @@ class SourceLoader:
columns_by_name[name] = SourceColumn(**merged)
source.columns = list(columns_by_name.values())
# Append computed columns. Manifest column names cannot be reused here.
# Append computed columns. Manifest column names cannot be reused here;
# use column_overrides for metadata patches.
for col in overlay.get("columns", []):
name = col.get("name")
if name in base_by_name:
raise ValueError(
f"column '{name}' in columns already exists on manifest source '{base.name}'"
f"column '{name}' in columns patches a manifest column on '{base.name}' - move it to 'column_overrides:'"
)
source.columns.append(SourceColumn(**col))