A migration rehearsal exposes mapping and reconciliation problems while the original system remains the working source. Use a representative batch in a safe target, and make the criteria for cutover and rollback clear before the full move.
Profile the source and map records
Count records by object type and sample missing fields, duplicates, unusual formats, and related records. Record how the target will represent each important field and relationship. Decide how to handle values with no valid target equivalent. Keep a mapping between old and new identifiers for reconciliation.
Compare results in a test target
Run a batch with ordinary records and deliberate edge cases. Compare counts, required values, ownership, and relationships. Inspect a sample of related records in the target interface as an operator would. Record rejected and skipped rows separately from successfully migrated records, with the reasons and owners for correction.
Write cutover and rollback criteria
Decide when source edits pause or how changes since the rehearsal will be applied. Record which results have to match before the target becomes authoritative. Agree how the team can return to the original workflow if a critical check fails. Keep recovery options and source snapshots available during the agreed transition.
Example
Compare a sample import with expected rejects and reconcile counts before the final load.
What to do next
Base a cutover decision on reconciled records and a practical recovery route.