ores.workflow.workflow_step
Table of Contents
Records the execution of one step in a saga workflow, including the step index, name, status, request/response payloads, and timing. Steps reference their parent workflow instance via workflow_id.
Flags
Primary key
UUID primary key for the workflow step.
Natural keys
Columns
workflow_id
FK reference to the parent workflow instance.
step_index
Zero-based ordinal position of this step within the workflow. Negative values denote compensation steps.
name
Human-readable step name, e.g. 'save_party'.
state_id
FK to the FSM state record (ores_workflow_fsm_states_tbl) for this step.
request_json
Serialised JSON payload sent to the downstream service for this step.
response_json
Serialised JSON response received from the downstream service.
error
Human-readable error message if the step failed.
command_subject
NATS subject to which the step command was published.
command_json
Serialised JSON command payload published to the domain service.
command_published_at
Timestamp when the step command was published to NATS.
idempotency_key
Idempotency key (echoes the step UUID) sent as X-Workflow-Step-Id header.
compensation_subject
NATS subject for the compensation command. Empty if this step has no compensation.
compensation_json
Serialised JSON compensation command payload, populated when compensation is triggered.
started_at
Timestamp when the step began executing.
completed_at
Timestamp when the step reached a terminal state.
SQL
Flags
C++
Flags
Repository
Domain includes
#include <chrono> #include <optional> #include <string> #include <boost/uuid/uuid.hpp>
Conventions
Custom repository methods
See also
- ores.workflow — component group overview.