Operate

Rollback & restore

Reset a table to an earlier version number or point in time. Destructive - later versions are discarded.

rollback_table and restore_table both return a table to an earlier state. The only difference is how you name the target:

RollbackRestore
TargetVersion number (version=41)UTC timestamp ("2026-06-15T14:30:00Z")
Use whenYou know the exact good versionYou know roughly when it was good
Find it viahistory version columnhistory timestamp column
Destructive?Yes - discards versions after the targetYes - discards versions after the target
InterfaceCLI · REST · MCP · Web UICLI · REST · MCP · Web UI

Heads up

Destructive: neither is a new commit layered on top - all versions after the target are discarded. The forward history is truncated. Always read the history and confirm before running either.

Roll back to a version number

eddytor rollback table eddytor sales orders --version 41
PUT /v1/tables/eddytor/sales/orders/rollback/41
Authorization: Bearer edd_live_…
rollback_table(table="eddytor.cfg_xxx.<uuid>_orders", version=41)

Open the table → History → select the target version → Roll back.

Restore to a UTC timestamp

eddytor restore table eddytor sales orders --timestamp "2026-06-15T14:30:00Z"
POST /v1/tables/eddytor/sales/orders/restore
Authorization: Bearer edd_live_…

{ "timestamp": "2026-06-15T14:30:00Z" }
restore_table(table="eddytor.cfg_xxx.<uuid>_orders", timestamp="2026-06-15T14:30:00Z")

Open the table → History → pick the point in time → Restore.

The timestamp must be ISO 8601 UTC - e.g. "2026-06-15T14:30:00Z". Read candidate timestamps straight from the history (they're UTC) rather than converting from local time.

Safe procedure

  1. Read the history → identify the last good version number or timestamp (mind that OPTIMIZE/VACUUM are versions too).
  2. Optionally diff two versions to confirm what you're undoing.
  3. Confirm - there's no undo.
  4. Run rollback_table(table, version=N) or restore_table(table, timestamp="…Z").
  5. profile_table + validate_constraints → confirm the restored state.

What neither can do

  • Recover a dropped table - drop_table deletes the data and the Delta log, so there's no history to roll back to. Rollback and restore work only on a table that still exists.
  • Reach past vacuum - pruned files make older versions unreachable.

On this page