Appearance
How to Handle Catalog Schema Drift & Re-Imports
Target Audience: Data Stewards, Technical Mappers, Data Architects, Stakeholders
Module: Data Mapping Studio
Overview
External technical catalogs (Snowflake databases, OpenMetadata assets, dbt models, CSV data dictionaries) undergo frequent changes. Columns get added, moved, renamed, or deleted upstream.
When you re-import an updated catalog file or re-sync via REST API in Termboard's Data Mapping Studio, the Schema Drift Engine automatically intercepts the re-import, calculates structural changes, and presents an interactive diff preview so no verified business mappings are lost.
Re-Import Workflow
[ Active Mapping Session ]
│
▼ Re-import CSV / Fetch REST API
[ Structural Diff Detection Engine ]
│
▼ Preview Modal
[ Review Changes: +Added, -Removed, ~Modified, ->Renamed ]
│
▼ Choose Reconciliation Strategy
[ Apply Reconciliation ] ──► Session Updated & Verified Mappings Preserved1. Triggering a Re-Import
In your active Data Mapping Studio workspace:
- Click Catalog in the top navigation bar.
- Select Import File... (CSV/JSON) or Fetch API (OpenMetadata).
- If an active mapping session exists, Termboard will not overwrite your work. Instead, the Catalog Schema Re-Import Diff modal automatically opens.
2. Reviewing Schema Differences
The diff preview modal groups changes into clear status tabs:
- Added (
+): Newly introduced catalog columns/attributes. - Removed (
-): Columns present in your previous session but absent in the incoming schema. - Modified (
~): Columns whose data type or description changed. - Renamed / Moved (
->): Columns whose names or qualified paths changed, detected via similarity scoring. - Impacted Mappings: Highlights verified mappings that reference removed, modified, or renamed columns.
3. Selecting Reconciliation Options
At the bottom of the diff modal, configure how Termboard should handle the changes:
| Option | Behavior | Recommended Setting |
|---|---|---|
| Keep removed items as Orphaned | Preserves mapping entries for removed columns, tagging status as orphaned so audit trails and comments remain intact. | ON (Checked) |
| Auto-migrate mappings for Renamed | Automatically updates existing mappings to point to new column names when high-confidence fuzzy matches are detected. | ON (Checked) |
| Auto-match candidates for New Items | Launches background AI/similarity candidate matching on newly added columns immediately. | ON (Checked) |
4. Stakeholder Hands-On Test Walkthrough
Use the following step-by-step scenario and test files to demonstrate schema drift protection to stakeholders.
Sample Test Datasets
Dataset 1: Initial Catalog Schema (bcbs239_catalog_v1.csv)
Save the following content to a local file named bcbs239_catalog_v1.csv:
csv
container,name,description,datatype,sourcesystem
Customer,customer_id,Unique identifier for customer,VARCHAR(36),BCBS239_DW
Customer,first_name,Customer given name,VARCHAR(100),BCBS239_DW
Customer,last_name,Customer family name,VARCHAR(100),BCBS239_DW
Customer,dob,Date of birth,DATE,BCBS239_DW
Customer,email,Primary contact email address,VARCHAR(255),BCBS239_DW
Customer,phone,Primary phone number,VARCHAR(30),BCBS239_DW
Customer,fax_number,Fax contact number,VARCHAR(30),BCBS239_DW
Customer,address_line1,Street address line 1,VARCHAR(255),BCBS239_DW
Customer,city,City name,VARCHAR(100),BCBS239_DW
Customer,postal_code,Zip or postal code,VARCHAR(20),BCBS239_DW
Account,account_id,Unique account number,VARCHAR(36),BCBS239_DW
Account,customer_id,Foreign key to Customer,VARCHAR(36),BCBS239_DW
Account,account_type,Type of bank account (checking/savings),VARCHAR(50),BCBS239_DW
Account,balance,Current account ledger balance,"DECIMAL(18,2)",BCBS239_DW
Account,currency,ISO currency code,VARCHAR(3),BCBS239_DW
Account,status,Account operational status,VARCHAR(20),BCBS239_DW
Account,opened_date,Date account opened,DATE,BCBS239_DW
Transaction,tx_id,Unique transaction ID,VARCHAR(36),BCBS239_DW
Transaction,account_id,Foreign key to Account,VARCHAR(36),BCBS239_DW
Transaction,tx_amount,Transaction monetary amount,"DECIMAL(18,2)",BCBS239_DW
Transaction,tx_type,Debit or credit indicator,VARCHAR(10),BCBS239_DW
Transaction,tx_timestamp,Transaction timestamp,TIMESTAMP,BCBS239_DW
Transaction,terminal_id,POS or ATM terminal identifier,VARCHAR(50),BCBS239_DW
Loan,loan_id,Unique loan agreement ID,VARCHAR(36),BCBS239_DW
Loan,principal_amount,Original loan principal,"DECIMAL(18,2)",BCBS239_DW
Loan,interest_rate,Annual percentage rate,"DECIMAL(5,4)",BCBS239_DW
Loan,maturity_date,Loan expiration date,DATE,BCBS239_DWDataset 2: Drifted Catalog Schema (bcbs239_catalog_v2_drifted.csv)
Save the following content to a local file named bcbs239_catalog_v2_drifted.csv:
csv
container,name,description,datatype,sourcesystem
Customer,customer_id,Unique identifier for customer,VARCHAR(36),BCBS239_DW
Customer,first_name,Customer given name,VARCHAR(100),BCBS239_DW
Customer,last_name,Customer family name,VARCHAR(100),BCBS239_DW
Customer,dob,Date of birth,DATE,BCBS239_DW
Customer,email,Primary contact email address,VARCHAR(320),BCBS239_DW
Customer,primary_phone,Primary phone number,VARCHAR(30),BCBS239_DW
Customer,tax_id_number,National tax identification number,VARCHAR(50),BCBS239_DW
Customer,address_line1,Street address line 1,VARCHAR(255),BCBS239_DW
Customer,city,City name,VARCHAR(100),BCBS239_DW
Customer,postal_code,Zip or postal code,VARCHAR(20),BCBS239_DW
Account,account_id,Unique account number,VARCHAR(36),BCBS239_DW
Account,customer_id,Foreign key to Customer,VARCHAR(36),BCBS239_DW
Account,account_type,Type of bank account (checking/savings),VARCHAR(50),BCBS239_DW
Account,balance,Real-time cleared ledger balance,"DECIMAL(18,2)",BCBS239_DW
Account,credit_score,Customer credit rating score,INTEGER,BCBS239_DW
Account,currency,ISO currency code,VARCHAR(3),BCBS239_DW
Account,status,Account operational status,VARCHAR(20),BCBS239_DW
Account,opened_date,Date account opened,DATE,BCBS239_DW
Transaction,tx_id,Unique transaction ID,VARCHAR(36),BCBS239_DW
Transaction,account_id,Foreign key to Account,VARCHAR(36),BCBS239_DW
Transaction,transaction_amount,Transaction monetary amount,"DECIMAL(18,2)",BCBS239_DW
Transaction,tx_type,Debit or credit indicator,VARCHAR(10),BCBS239_DW
Transaction,tx_timestamp,Transaction timestamp,TIMESTAMP,BCBS239_DW
Transaction,ip_address,Client IP address for fraud detection,VARCHAR(45),BCBS239_DW
Loan,loan_id,Unique loan agreement ID,VARCHAR(36),BCBS239_DW
Loan,principal_amount,Original loan principal,"DECIMAL(18,2)",BCBS239_DW
Loan,interest_rate,Annual percentage rate,"DECIMAL(5,4)",BCBS239_DW
Loan,maturity_date,Loan expiration date,DATE,BCBS239_DWStep-by-Step Test Procedure for Stakeholders
Step 1: Initialize Mapping Session
- Open test version of termboard: test.termboard.com
- Open the a model, for example: File > Open > Examples > Generic Terms
- Then open View > Mapping Studio.
- Click Catalog $\rightarrow$ Import File...
- Select
bcbs239_catalog_v1.csv. - Observe 27 catalog attributes loaded into the left LDM panel.
Step 2: Establish Verified Mappings
- Select
Customer.phoneand click Verify to link it to a semantic term. - Select
Transaction.tx_amountand click Verify to link it to a monetary term. - Select
Customer.fax_numberand click Verify to create a baseline mapping.
Step 3: Trigger Re-Import & Structural Diff
- Click Catalog $\rightarrow$ Import File...
- Select
bcbs239_catalog_v2_drifted.csv. - Notice that your workspace is not overwritten. The Catalog Schema Re-Import Diff modal pops up automatically.
Step 4: Inspect Structural Changes
- Observe summary counts in top badges:
- 3 Added:
tax_id_number,credit_score,ip_address - 2 Removed:
fax_number,terminal_id - 2 Modified:
email(type expanded),balance(description updated) - 2 Renamed:
phone$\rightarrow$primary_phone,tx_amount$\rightarrow$transaction_amount
- 3 Added:
- Click tab Renamed to review auto-detected column rename pairs.
- Click tab Impacted Mappings to verify that verified business mappings are flagged for review.
Step 5: Apply Reconciliation
- Keep default strategy checkboxes checked:
Keep removed items as OrphanedAuto-migrate mappings for RenamedAuto-match candidates for New Items
- Click Apply Reconciliation.
- Verify results in mapping workspace:
Customer.primary_phoneretains the verified mapping previously linked toCustomer.phone.Customer.fax_numbermapping status displays Orphaned with historical audit trail intact.- Newly added attributes display AI-generated similarity suggestions.
Summary
With Schema Drift protection, data stewards can continuously re-sync upstream data dictionaries without fear of losing verified glossary links or breaking audit history.