StatifierPersistence.Migration (StatifierPersistence v0.15.1)

Copy Markdown View Source

Moving a waiting execution from one chart onto another, on purpose.

An execution is pinned to the chart it started on: its stored row carries that chart's content hash, and the identity guard refuses to load its position against any other machine. A migration is the explicit act that re-pins it. It is decided in this package's ADR-0013 (docs/adr/0013-the-migration-plan.md): a plan is data, one plan per pair of chart hashes; it is a transform over the engine's position export, applied by the engine's import on the new machine; it is checked twice, once against the two machines and once against the execution; and it either re-pins the execution whole or leaves it as it was.

StatifierPersistence.Migration.Plan is the plan: its struct, its one JSON-safe map encoding, and the static validation against the two machines. StatifierPersistence.Executions.migrate/4 applies a plan to one execution. Nothing in this package migrates an execution because a chart was saved, created against or published.

Not the table migrations

This namespace is about executions, not tables. StatifierPersistence.Ecto.Migrations is the schema-migration helper a host runs to create and upgrade this package's tables; it moves no execution between charts, and nothing here touches a table's shape.