pub struct DataMigrationRunDetail {Show 21 fields
pub id: i64,
pub job_id: Option<Option<String>>,
pub created_by: String,
pub created_at: String,
pub started_at: String,
pub updated_at: String,
pub completed_at: Option<Option<String>>,
pub status: Status,
pub source_resource_path: String,
pub target_resource_path: String,
pub source_table: String,
pub target_table: String,
pub rows_migrated: i64,
pub batches: i32,
pub conflict_mode: ConflictMode,
pub resume_count: i32,
pub has_checkpoint: bool,
pub has_pending_batch: bool,
pub failed: bool,
pub mapping: Vec<ColumnMapping>,
pub error: Option<Option<String>>,
}Expand description
DataMigrationRunDetail : One run in full. The handler flattens DataMigrationRunSummary into this object, so the wire shape is the summary’s fields plus mapping and error.
Fields§
§id: i64§job_id: Option<Option<String>>The queue job this run belongs to, once #1212 moves execution onto the job queue. null for a run executed inline in the API request task – the one case with no SSE stream to watch and no job to cancel.
created_by: String§created_at: String§started_at: String§updated_at: StringLast write of any kind to the row. For a running run this is the liveness signal: a stale updated_at with no live job is how a crashed run is visible as crashed rather than simply absent.
completed_at: Option<Option<String>>§status: Status§source_resource_path: String§target_resource_path: String§source_table: String§target_table: String§rows_migrated: i64Cumulative across attempts when the run was resumed: "how much of this migration is done", not "how much did the last attempt do".
batches: i32§conflict_mode: ConflictMode§resume_count: i32how many times this run has been picked up again after stopping.
has_checkpoint: boolA batch has committed, so a resume has a checkpoint to start from. The cursor itself is not returned – it is a list of source primary-key values, i.e. customer data.
has_pending_batch: boolA batch was handed to the target and its outcome was never recorded. Resume across it is only safe under conflict_mode = skip.
failed: boolThe run recorded an error. The text is deliberately not here: it is on the per-run route only, so a history listing cannot carry it (see #1406).
mapping: Vec<ColumnMapping>The mapping this run was configured with. Returned because a resume is a fresh POST /run and the engine re-validates the mapping rather than trusting stored configuration – so the caller has to send it back, and the run row is the only place it is kept.
error: Option<Option<String>>Backend-authored failure text. Render as escaped text, never as HTML: until #1406 is fixed this can still contain target row values.
Implementations§
Source§impl DataMigrationRunDetail
impl DataMigrationRunDetail
Sourcepub fn new(
id: i64,
created_by: String,
created_at: String,
started_at: String,
updated_at: String,
status: Status,
source_resource_path: String,
target_resource_path: String,
source_table: String,
target_table: String,
rows_migrated: i64,
batches: i32,
conflict_mode: ConflictMode,
resume_count: i32,
has_checkpoint: bool,
has_pending_batch: bool,
failed: bool,
mapping: Vec<ColumnMapping>,
) -> DataMigrationRunDetail
pub fn new( id: i64, created_by: String, created_at: String, started_at: String, updated_at: String, status: Status, source_resource_path: String, target_resource_path: String, source_table: String, target_table: String, rows_migrated: i64, batches: i32, conflict_mode: ConflictMode, resume_count: i32, has_checkpoint: bool, has_pending_batch: bool, failed: bool, mapping: Vec<ColumnMapping>, ) -> DataMigrationRunDetail
One run in full. The handler flattens DataMigrationRunSummary into this object, so the wire shape is the summary’s fields plus mapping and error.
Trait Implementations§
Source§impl Clone for DataMigrationRunDetail
impl Clone for DataMigrationRunDetail
Source§fn clone(&self) -> DataMigrationRunDetail
fn clone(&self) -> DataMigrationRunDetail
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more