docs.datacontroller.io/docs/restore.md
^ f488a5319c
All checks were successful
Publish to docs.datacontroller.io / Deploy docs (push) Successful in 1m46s
fix: stuff
2024-05-02 16:55:50 +01:00

1.9 KiB

layout title description og_image
article Data Restore How to restore a previous version of a Data Controller table https://docs.datacontroller.io/img/restore.png

Data Restore

For those tables which have Audit Tracking enabled, it is possible to restore the data to an earlier state!

Simply open the submit to be reverted (via HISTORY or the table INFO/VERSIONS screen), and click the red REVERT button. This will generate a NEW submission, containing the necessary reversal entries. This new submission must then be approved in the usual fashion.

This approach means that the audit history remains intact - there is simply a new entry, which reverts all the previous entries.

Caveats

Note that there are some caveats to this feature:

  • User must have EDIT permission to make a submission
  • It will only work for TXTEMPORAL and UPDATE Load Types
  • It will only work for changes made inside Data Controller
  • Changes made outside of Data Controller cannot be reversed
  • If there are COLUMN or ROW level security rules, the restore will abort
  • If the model has changed (new / deleted) columns the restore will abort
  • Only submissions that have actually been loaded, can be reverted (obviously)

Technical Information

The restore works by undoing all the changes listed in the MPE_AUDIT table. The keys from this table (since and including the version to be restored) are left joined to the base table (to get current values) to create a staging dataset, and then the changes applied in reverse chronological order using this macro. This staging dataset is then submitted for approval, providing a final sense check before the new / reverted state is applied.

Source code for the restore process is available here.