Key takeaways
- A rollback is only possible if the migration logged every record it created or changed, as it went.
- Records the migration created are removed; records it only updated get their previous values back.
- Some records cannot be fully deleted through the API, so check what a rollback can reach in your destination.
- A rollback undoes a run. It is not a filter: a later run brings the records back unless they are excluded.
What a rollback does
- Created records are removed. A ticket, contact, company or article the run created is taken out of the destination.
- Updated records are restored. A record that already existed and was matched by the migration gets its previous values back, rather than being deleted.
- Everything else is left alone. Records and replies your team or customers created in the destination are not touched.
What the destination’s API allows
- Intercom contacts can be archived or deleted through the API. Archiving is reversible; deletion is permanent.
- Intercom messages are redacted rather than deleted: Intercom’s API removes the content of a conversation part, and an empty part stays in the thread.
- Freshdesk contacts have a soft delete and a separate permanent delete in Freshdesk’s API.
- Freshdesk tickets that are deleted can be restored, so a rolled-back ticket may still sit in Freshdesk’s trash until it is emptied.
In our testing, removing an Intercom contact did not remove their conversations, so a rollback has to remove migrated conversations explicitly. Ask any migration provider what a rollback removes in your destination, and what it cannot reach.
After a rollback: undo is not exclude
A rollback undoes what a run did. It does not stop the same records being migrated again: the next delta run sees them as missing and creates them again. If records should never move, exclude them from the scope with a filter. See delta migration and cut-over.
Rollback per run on DataGrine
Every DataGrine migration can be rolled back per run, whether you run it self-serve on the platform or the migration team handles it end to end, with 24/7 support either way. See how a migration runs.