SF-Data-Arch Data Migration Practice Question
A Salesforce architect is migrating 1 million Case records with related Case Comments from a legacy system. The legacy system stores comments in a separate table linked by a legacy Case ID. The architect plans to use the Bulk API to load Cases first, then load Case Comments in a second pass. During the test, the architect realizes that the legacy Case ID is not stored in Salesforce after the first load, making it impossible to link comments to the correct Cases. What should the architect have done to enable this relationship?
⚠ Common exam trap
The trap here is thinking that Salesforce or Data Loader can automatically match related records without a stored external ID, when the key must be explicitly persisted for lookups.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a custom external ID field on the Case object to store the legacy Case ID, populate it during the Case load, and then use that field to relate Case Comments during the second load.
To link Case Comments to Cases in a two-pass migration, the architect must store the legacy Case ID on the Case record as an external ID. This allows the second load to use that external ID to look up the parent Case and correctly associate comments. Without it, the relationship cannot be established, leading to orphaned comments.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create a custom external ID field on the Case object to store the legacy Case ID, populate it during the Case load, and then use that field to relate Case Comments during the second load.
Why this is correct
Storing the legacy Case ID in an external ID field on Case allows the architect to reference it when loading Case Comments. The Bulk API can use the external ID to look up the parent Case record and establish the relationship. This is a standard practice for migrating related records in multiple passes, ensuring referential integrity without manual intervention.
- ✗
Export the Salesforce Case IDs after the first load, map them back to the legacy Case IDs in the source system, and then load Comments with the new Salesforce IDs.
Why it's wrong here
This approach could work but is inefficient and error-prone for 1 million records. It requires exporting and mapping IDs, which adds complexity and time. The better solution is to store the legacy ID in Salesforce during the initial load, eliminating the need for post-load mapping. This option describes a manual workaround rather than a scalable design.
- ✗
Load Cases and Case Comments simultaneously using a single Bulk API job with nested JSON to preserve relationships.
Why it's wrong here
The Bulk API does not support nested JSON for related records in a single job. Each object must be loaded separately. While composite API can handle related records, it is not suitable for high-volume migrations due to limits. Attempting to load simultaneously would not resolve the missing link, as the parent must exist before children can reference it.
- ✗
Use the Salesforce Data Loader's 'Insert' operation for Cases and then use 'Update' for Comments, relying on Salesforce's automatic relationship matching.
Why it's wrong here
Salesforce does not automatically match related records based on external IDs unless the external ID is stored on both objects and used in the load. The Data Loader does not have a feature to infer relationships without a common key. This approach would fail because the legacy Case ID is not present in Salesforce to facilitate matching.
About these practice questions
Courseiva writes every SF-Data-Arch question from scratch — 222 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Salesforce exam blueprint
This SF-Data-Arch practice question is part of Courseiva's free Salesforce certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SF-Data-Arch exam.