- Add crates/pdftract-schema-migrate/ workspace member - Implement migration framework for v1.x schema versions - MigrationRegistry with version-pair migration functions - Identity migration for v1.0 -> v1.0 - Validation: rejects major version changes and downgrades - Convenience API: migrate(), run_migration(), read_json(), write_json() - Add migrate-schema CLI binary - --from/--to version arguments - stdin/stdout or file I/O support - Auto-detect pretty-print for terminal output - Full test coverage for migration registry and validation Closes bf-4w2rt. Verification: notes/bf-4w2rt.md
24 lines
448 B
TOML
24 lines
448 B
TOML
[package]
|
|
name = "pdftract-schema-migrate"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
publish = true
|
|
|
|
[lib]
|
|
name = "pdftract_schema_migrate"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "migrate-schema"
|
|
path = "src/bin/migrate-schema.rs"
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = "1"
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1"
|