Principle:Sdv dev SDV Metadata Migration
| Knowledge Sources | |
|---|---|
| Domains | Metadata, Migration |
| Last Updated | 2026-02-14 19:00 GMT |
Overview
Principle that defines how metadata schemas are migrated between incompatible API versions while preserving semantic meaning.
Description
Metadata Migration addresses the challenge of evolving metadata schemas across major library versions. When a library changes its metadata representation (e.g. renaming fields to columns, changing type taxonomies from type/subtype to sdtype, or renaming constraint classes), existing users need an automated conversion path. The migration process maps old schema elements to their new equivalents, handles deprecated features with warnings, and produces a semantically equivalent metadata in the new format.
Usage
Apply this principle when a library undergoes a major version change that alters the metadata schema. Users with existing metadata files from older versions can run the converter to produce compatible metadata for the new API.
Theoretical Basis
Metadata Migration follows the schema evolution pattern from database systems. Each transformation rule maps an old schema element to its new equivalent:
Pseudo-code:
# Schema migration pattern
for field_name, field_meta in old_metadata['fields'].items():
new_column = map_type(field_meta['type'], field_meta.get('subtype'))
new_column = map_constraints(field_meta)
new_metadata['columns'][field_name] = new_column