Data Migrator

Data Migrator moves configuration and data from one Salesforce org to another — without Change Sets, CSV files, or hand-built dependency lists. It handles schema, records, and permissions together, and it is built around two principles: never write without a preview, and never write without a way back.

Connecting orgs

You select a source and a target org. Both connect through your existing Salesforce session — no connected apps or stored credentials. Data Migrator detects whether the two orgs are related (a sandbox and its production parent, which share record IDs) or unrelated (two production orgs that do not), and adapts its matching strategy accordingly.

Choosing what to move

Pick the objects you want to migrate. Data Migrator resolves parent-child dependencies automatically and orders the work so that parents are written before the children that reference them. This is what prevents the "missing reference" failures that plague manual data loads.

For Master-Detail and Lookup relationships, it uses relationshipOrder to classify the relationship correctly, and chunks large ID filters to stay within SOQL limits.

Dry run first

Every migration starts as a dry run. Before a single record is written, you see exactly what will be created, updated, or skipped, bucketed by how each record compares to the target:

  • identical — already matches, nothing to do
  • drifted — exists but differs; will be patched
  • missing — not in the target; will be created
  • ambiguous — matches more than one target record; filtered out of the write rather than guessed

Matching records

When orgs share IDs, matching is direct. When they do not, Data Migrator matches on an external ID or a composite natural key you define, so records line up correctly across unrelated orgs. Duplicate-value errors are parsed per-row and the conflicting target Id is extracted automatically (with 15/18-character deduplication) so a single bad row does not stall the run.

Rollback that actually reverses

Inserts can be undone by deleting the created rows. Updates are harder — and this is where Data Migrator differs from most tools. Before it patches a drifted record, it captures a before-state snapshot. On rollback, it PATCHes the original values back, restoring the target field-for-field rather than leaving it half-changed.

Migration modes

  • Seed — populate an empty sandbox; reports drift rather than overwriting.
  • Promote — push changes forward; auto-patches drift.
  • Mirror — make the target match the source.
  • Repair — fix specific drifted records.

Resilience and recovery

Long migrations survive interruption. Progress is checkpointed, so a run can resume rather than restart. When records fail validation, the ErrorSurgery panel offers targeted resolutions — map to an existing record, remap a value, provide a default, auto-truncate an over-length field, assign to the current user, or skip — and retries only the rows you resolved.

Related reading