SyncLogTable
tableBreakdex::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
Reads 3
moves_tablecombos_tablereviews_table
Answers
States
| State | Behavior |
|---|---|
| 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
| Name | Type | Constraints |
|---|---|---|
| entity_id | text | NOT NULL |
| entity_table | text | NOT NULL |
| action | text | NOT NULL ENUM: create, update, delete |
| changed_at | datetime | NOT NULL DEFAULT: now |
| synced | boolean | NOT NULL DEFAULT: false |
| video_synced | boolean | NOT NULL DEFAULT: true |
Primary Key
entity_id, entity_table, action