Shardis key migration execution primitives (planner, executor, metrics hooks, in-memory implementations).
$ dotnet add package Shardis.MigrationKey migration execution primitives for Shardis. This package contains the executor, planner abstractions, checkpoint store contracts, and reference in-memory implementations used for tests and prototypes.
dotnet add package Shardis.Migration --version 0.2.*
MigrationPlan<TKey>, KeyMove<TKey>, MigrationCheckpoint<TKey>.ShardMigrationExecutor<TKey> — orchestrates copy → verify → swap with checkpoint persistence & metrics hooks.IShardDataMover<TKey>, IVerificationStrategy<TKey>, IShardMigrationCheckpointStore<TKey>, IShardMapSwapper<TKey>, IShardMigrationMetrics.IShardMigrationMetricsIStableCanonicalizer, IStableHasher) consumed by checksum strategies. See docs/canonicalization.md.// register migration runtime + (optionally) provider-specific support (e.g. EF / Marten)
services.AddShardisMigration<string>(); // core abstractions & executor
var planner = services.GetRequiredService<IShardMigrationPlanner<string>>(); // if planner registered
var executor = services.GetRequiredService<ShardMigrationExecutor<string>>();
var plan = await planner.CreatePlanAsync(fromSnapshot, toSnapshot, CancellationToken.None);
var result = await executor.ExecuteAsync(plan, progress: null, CancellationToken.None);Shardis.Migration.Sql (preview; API stability not yet guaranteed).IEntityProjectionStrategy) allows shape normalization (exclude volatile fields) — ensure determinism.samples/Shardis.Migration.Sample.