Purpose of Tracking Tables

  • Updated

With eSync setup you will see tracking tables generated for almost every table in your site's database. This KB explains the purpose of them. 

The purpose of tracking tables is to track actions taken on content for the purposes of eSync. The tracking data allows eSync to make decisions about whether to move, delete, or update content. Tracking tables can be identified by looking for '_tracking' appended to the a table name. For example, content_tracking.

The last_changed_datetime column shows when content with a particular ID was updated. This is helpful when you want to see when a row was changed in comparison to the corresponding row of the database being synced to. This can show which database the content was edited on most recently explaining why a particular row isn't syncing as expected. For instance if a last_changed_datetime was updated on the receiving environment, but not the sending environment since the last esync, then subsequent syncs will not update the destination until the sending content is modified. Once modified the conflict resolution policy still must be set for local to win for the origin content to override the destination. 

Another helpful field in the tracking tables is the sync_row_is_tombstone. This identifies if content had been deleted at one point. If sync_row_is_tombstone is set to 1 the content was deleted and cannot be recreated - therefore sync cannot be used as a restore method.