Everything a migration step needs to reshape cached data. The db handle is
the untyped connection from getMigrationDb() — its store names are plain
string and its records are unknown, so a step can read old-shaped or
renamed records without type assertions. Use logger for progress/diagnostics.
A single release-to-release cache migration. One per steps/vX.Y.Z-to-vA.B.C.ts
file. from/to must match the filename's versions (the registry enforces
this). description is shown to the user in the update prompt. up applies the
change to the already-open cache; migrations are forward-only (no down).
Props for MigrationPrompt.
open- Whether the modal is shown.steps- The pending migration steps to list.busy- Disables both buttons while an action is in flight.error- Optional error message shown when applying failed.onApply- Invoked when the user chooses to apply the updates.onCancel- Invoked when the user chooses to clear the cache and start fresh.