pub struct BpmnMigrationPlan {
pub from_process_id: String,
pub to_process_id: String,
pub elements: Option<HashMap<String, String>>,
pub sequence_flows: Option<HashMap<String, String>>,
}Expand description
BpmnMigrationPlan : A validated, fully-resolved rewrite: every identifier substitution needed to move an instance’s persisted state from the source version’s vocabulary to the target’s. Only entries that actually change are present, so an empty plan with equal process ids is exactly an identity migration. A plan is necessary and not sufficient. Three things stand outside it: ActivityState.external_worker and RetryState.max_attempts are dispatch-time snapshots, frozen by decision; history[] records what actually executed under the ids it executed under, immutable by decision; and the eight uuid_v5 derived key formats that embed element and flow ids are not yet handled – every key of elements is an element whose derived child-job ids change, which the engine-side applier must re-key.
Fields§
§from_process_id: Stringthe root Scope.element_id before the rewrite – the root scope’s element id is the <process id>, and is the only site carrying it, which is why a process-id rename is unambiguous under a document and is resolved rather than refused
to_process_id: String§elements: Option<HashMap<String, String>>old element id -> new element id, changed entries only
sequence_flows: Option<HashMap<String, String>>old sequence-flow id -> new sequence-flow id, changed entries only. Derived by matching mapped endpoints, never declared.
Implementations§
Source§impl BpmnMigrationPlan
impl BpmnMigrationPlan
Sourcepub fn new(from_process_id: String, to_process_id: String) -> BpmnMigrationPlan
pub fn new(from_process_id: String, to_process_id: String) -> BpmnMigrationPlan
A validated, fully-resolved rewrite: every identifier substitution needed to move an instance’s persisted state from the source version’s vocabulary to the target’s. Only entries that actually change are present, so an empty plan with equal process ids is exactly an identity migration. A plan is necessary and not sufficient. Three things stand outside it: ActivityState.external_worker and RetryState.max_attempts are dispatch-time snapshots, frozen by decision; history[] records what actually executed under the ids it executed under, immutable by decision; and the eight uuid_v5 derived key formats that embed element and flow ids are not yet handled – every key of elements is an element whose derived child-job ids change, which the engine-side applier must re-key.
Trait Implementations§
Source§impl Clone for BpmnMigrationPlan
impl Clone for BpmnMigrationPlan
Source§fn clone(&self) -> BpmnMigrationPlan
fn clone(&self) -> BpmnMigrationPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more