🛢️ Data Engineering · Batch Pipelines
Evolve schemas without breaking consumers
Schema contracts, compatibility modes, and deprecation flows across pipeline boundaries.
advanced~40 minData EngineersAnalytics EngineersPlatform Data Teams
Steps
- 1Publish schema contracts per dataset with owner + compatibility mode (backward default)
- 2CI-validate producer changes against registered contracts
- 3Add columns nullable-first; never repurpose existing fields silently
- 4Rename via add-new → dual-write → migrate → drop-old, with telemetry at each step
- 5Notify consumer list (derived from query logs) before breaking changes
- 6Archive old schema versions; make lineage queryable
Common Pitfalls
- ▲"Temporary" column reuse changing meaning mid-history
- ▲Producers shipping struct changes on Friday evenings
Commands
Install with skills CLI
$ npx skills add aniruddhaadak80/skills --skill pipelines-batch-schema-evolution-contractsInstall globally
$ npx skills add aniruddhaadak80/skills --skill pipelines-batch-schema-evolution-contracts -gTags
#schema#contracts#governance#data-engineering#pipelines-batch