Expand description
Checked relational schema evolution.
Migration programs are admitted before a provider sees them. Admission proves a single revision chain, exact schema transitions, typed backfills, and the declared final target.
use sim_relation_migrate::{derive_lossless, OperationKind};
use sim_relation_schema::{fixtures, AcceptAllValues};
let schema = fixtures::document(&AcceptAllValues).unwrap();
assert!(derive_lossless(&schema, &schema).unwrap().is_empty());
let _: Option<OperationKind> = None;Structs§
- Adoption
Manifest - Exact adoption declaration for an existing store.
- Capability
Error - Missing provider migration capability.
- Checked
Program - Opaque proof that a migration program passed simulation.
- Migration
Capabilities - Provider features needed for safely applying an admitted program.
- Migration
Program - An authored upgrade path.
- Operation
- One exact state transition. The complete output snapshot makes omission impossible: the declared operation cannot claim a target it does not produce.
- Revision
- An authored revision in a strictly linear history.
- Schema
Attestation - Signed or otherwise provider-authenticated evidence of observed state.
Enums§
- Adoption
Error - Adoption verification failure.
- Migration
Error - Failure to prove a migration program.
- Operation
Kind - A precisely described schema edit.
Functions§
- admit
- Simulates and admits the whole migration program.
- derive_
lossless - Derives only lossless table creation and nullable column addition operations. Every other difference fails closed and requires authored intent.