changelogs


Description

{“what”:“Audit trail of field-level changes to entities.”,“why”:“Without it, audit history and rollback decisions are impossible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.345750166+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
record_id text 2147483647 null

{“what”:“Unique identifier for this change event, e.g., UUID.”,“why”:“Without it, change events cannot be referenced or deduplicated.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.370541627+00:00”}

entity_type text 2147483647 null

{“what”:“Type of entity that changed, e.g., ‘user’ or ‘order’.”,“why”:“Without it, changes across different entity types are indistinguishable.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.401864726+00:00”}

entity_id text 2147483647 null
ssh_pending_approvals.id Implied Constraint R

{“what”:“Identifier of the entity instance that changed.”,“why”:“Without it, cannot locate which record was modified.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.430791399+00:00”}

old_record_id text 2147483647 √ null

{“what”:“Previous entity ID if the entity’s identifier changed; null otherwise.”,“why”:“Without it, an entity’s history breaks when its ID is updated.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.448236524+00:00”}

new_record_id text 2147483647 √ null

{“what”:“New entity ID if the entity’s identifier changed; null otherwise.”,“why”:“Without it, the new identity of the entity is unknown after an ID change.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.462553746+00:00”}

field_name text 2147483647 null

{“what”:“Name of the field that was modified, e.g., ‘status’.”,“why”:“Without it, the specific change cannot be pinpointed.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.477735823+00:00”}

old_value text 2147483647 √ null

{“what”:“Value of the field before the change, as text.”,“why”:“Without it, the previous state is lost.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.507235539+00:00”}

new_value text 2147483647 √ null

{“what”:“Value of the field after the change, as text.”,“why”:“Without it, the new state is unknown.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.523183316+00:00”}

changed_at timestamptz 35,6 now()

{“what”:“Timestamp of the change, with time zone, defaulting to current time.”,“why”:“Without it, the order and timing of changes is unknown.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.538770879+00:00”}

changed_by text 2147483647 null

{“what”:“Identifier of the user or system that made the change.”,“why”:“Without it, accountability for changes is lost.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.556042545+00:00”}

change_reason text 2147483647 √ null

{“what”:“Optional free-text reason for the change.”,“why”:“Without it, the motivation behind a change is unknown.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-22T23:54:59.571013150+00:00”}

Indexes

Constraint Name Type Sort Column(s)
changelogs_pkey Primary key Asc record_id
idx_cl_entity Performance Asc/Asc/Desc entity_type + entity_id + changed_at

Relationships