dlt handles schema changes silently by default — new columns are added and type conflicts become variant columns without errors. This post shows how to instrument schema monitoring using dlt's `schema_update` metadata, and how `_dlt_loads` and `_dlt_version` tables serve as an audit trail. A step-by-step walkthrough covers baseline loading, detecting new columns, handling type mismatches via variant columns, and tracing schema history through load lineage joins.
Table of contents
The setup: a transactions pipeline with schema monitoring Link iconStep 1: Run the pipeline and check what schema dlt infers Link iconStep 2: Add new fields and check what 'schema_update' reports Link iconStep 3: Load a type mismatch and see it land in a variant column Link iconStep 4: Inspect load lineage with '_dlt_loads' Link iconStep 5: Track schema history with '_dlt_version' Link iconThe takeaway Link iconSort: