module

Prostore::Diff::Operation

Operations are the user-level units the diff engine emits.

An Operation describes what changed at the schema level — adding a column, dropping an index, renaming a foreign key. Each operation is then lowered to one or more atomic Steps by Steps::Planner. The diff engine produces operations; the planner produces the executable step list.

Operations are pure data — no DB references, no SQL strings. This keeps the engine easily testable as a function and aligns with ADR-0009's plan-at-start invariant (the operation list is the authoritative target before any DDL runs).

Nested types