data_edit_undo_chain


Description

{“what”:“Log of row-level edits grouped into undo batches; each row is one reversible change.”,“why”:“Without it, edits cannot be reverted or replayed, so accidental changes become permanent.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.232756662+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id int4 10 √ null

{“what”:“Unique integer identifier for each undo entry.”,“why”:“Without it, entries cannot be referenced individually for undo or redo operations.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.253354280+00:00”}

batch_num int4 10 null

{“what”:“Integer grouping edits that were applied together as one undoable action.”,“why”:“Without it, multi-row edits cannot be undone atomically; partial undo would corrupt data.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.268068029+00:00”}

table_id int4 10 null

{“what”:“Identifier of the database table that was edited.”,“why”:“Without it, the target table for the edit is unknown, so undo cannot locate the correct table.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.288539087+00:00”}

row_pk text 2147483647 null

{“what”:“Primary key value of the edited row, as text to handle any key type.”,“why”:“Without it, the specific row to revert is ambiguous, so undo cannot target the correct record.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.301112821+00:00”}

user_id int4 10 null

{“what”:“Identifier of the user who performed the edit.”,“why”:“Without it, audit trails and per-user undo permissions are impossible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.311467248+00:00”}

scope text 2147483647 null

{“what”:“Scope of the edit, e.g., ‘row’ or ‘batch’, indicating granularity of undo.”,“why”:“Without it, undo logic cannot decide whether to revert a single row or a whole batch.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.322431684+00:00”}

undoable bool 1 true

{“what”:“Flag indicating whether this edit can be undone (true) or is irreversible (false).”,“why”:“Without it, attempts to undo irreversible operations would corrupt data or fail silently.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.339094621+00:00”}

raw_before text 2147483647 √ null

{“what”:“Serialized snapshot of the row’s data before the edit; null if not captured.”,“why”:“Without it, the original values are lost, so undo cannot restore the prior state.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.354737370+00:00”}

raw_after text 2147483647 √ null

{“what”:“Serialized snapshot of the row’s data after the edit; null if not captured.”,“why”:“Without it, redo cannot reapply the change, and audit of the new state is missing.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.378086240+00:00”}

undone bool 1 false

{“what”:“Flag indicating whether this edit has been undone (true) or is still active (false).”,“why”:“Without it, the undo chain cannot track which edits are already reverted, leading to double undo or lost redo.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.394236055+00:00”}

created_at timestamptz 35,6 now()

{“what”:“Timestamp when the edit entry was created.”,“why”:“Without it, the order of edits is unknown, so undo sequence cannot be determined.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.412840798+00:00”}

updated_at timestamptz 35,6 now()

{“what”:“Timestamp when the edit entry was last modified (e.g., when undone).”,“why”:“Without it, the time of undo/redo actions is unknown, breaking audit trails and conflict resolution.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:03:27.423021985+00:00”}

Indexes

Constraint Name Type Sort Column(s)
data_edit_undo_chain_pkey Primary key Asc id

Relationships