LeanIX schema migration — v1/v2/v3 → v4
LeanIX schema migration — v1/v2/v3 → v4
v1 accumulated four schema generations (legacy French columns → v2 renames → v3 camelCase/new types → v3.2). v4 is the only schema going forward. This note maps legacy columns so any stray CSV can be lifted into the D1 objects/relations model.
Rule
ea:leanix-catalog-extract emits v4 and seeds D1 (directly, or via a validated CSV intermediate that loads D1). No active DAE should still carry v1–v3 CSV headers. Audit before any client work:
# Flag legacy French/v2 headers still present in active client CSVs
grep -rEl "Nom_Conceptuel|Couche TOGAF|Coût taille|Coût_taille|^Nom," "<OneDrive>/clients" 2>/dev/null
If a match is found, convert it with the mapping below before seeding D1.
Column mapping (objects)
| Legacy (v1/v2 FR) | v4 column | Notes |
|---|---|---|
Nom / Name |
name |
physical/system name |
Nom_Conceptuel / Display_Name |
name_conceptual |
conceptual/business label |
Type |
type |
LeanIX v4 object type (CAP, PRO, APP, ITC, …) |
Description |
description |
— |
Couche TOGAF / TOGAF_Layer |
togaf_layer |
Business / Application / Data / Technology |
Groupe / Group / Domain |
domain |
top-level grouping |
Impact |
attrs.change_type |
move to junction in CO catalog where applicable |
Coût taille / Cost_Size |
attrs.cost_size |
|
Coût / Cost_Amount |
attrs.cost_amount |
|
Functional_Fit / Technical_Fit |
attrs.functional_fit / attrs.technical_fit |
|
Business_Criticality |
attrs.criticality |
camelCase enum (see below) |
Lifecycle |
attrs.lifecycle |
camelCase enum (see below) |
Owner / Department |
attrs.owner / attrs.department |
|
Notes |
notes |
Everything not in a core column lands in attrs JSON. Core columns: catalog, id, type, name, name_conceptual, description, togaf_layer, domain, notes, attrs.
Enum normalization (v3 → v4 camelCase)
- Lifecycle:
plan → phaseIn → active → phaseOut → endOfLife - Business criticality:
missionCritical | businessCritical | businessOperational | administrativeService
Relationships
v4 relations columns: catalog, source_id, source_name, rel_type, target_id, target_name, description, visual_verb. Legacy Source_ID/Target_ID/Relationship_Type/Visual_Verb map 1:1; rel_type vocabulary: contains, supports, requires, uses, realized-by, owned-by, provided-by, transfers, successor-of, data-flow, depends-on, triggers.