SyncLogTable

table

Breakdex::DataStores::SyncLogTable

Change-tracking log for two-phase cloud sync — records every mutation

Every create, update, or delete on a SyncAware table writes a row here. The sync engine reads unsynced rows, pushes metadata, then marks synced. Video sync is tracked separately via video_synced. This is the outbox pattern — reliable delivery even if the app crashes mid-sync.

Relationships

Depends On 1

sync_dao

Reads From 3

moves_tablecombos_tablereviews_table

Breaks If 2

sync_dao_stops_writingaction_enum_changes

Data Access

\u2190 Reads 3

moves_tablecombos_tablereviews_table

Answers

States

StateBehavior
all Synced
message: No pending rows — all mutations have been pushed to cloud
shows: green_checkmark
video Pending
message: Metadata synced but video binary still uploading — large file transfer in progress
shows: upload_progress_indicator

Columns

NameTypeConstraints
entity_idtextNOT NULL
entity_tabletextNOT NULL
actiontextNOT NULL ENUM: create, update, delete
changed_atdatetimeNOT NULL DEFAULT: now
syncedbooleanNOT NULL DEFAULT: false
video_syncedbooleanNOT NULL DEFAULT: true

Primary Key

entity_id, entity_table, action