133
and maintains the relationships between the objects during the migr ation.
You provide MigrateAmp the key object(s) to be migrated, and MigrateAmp
does the rest.
Understanding Challenges of Migration
Migration has two major challenges to overcome: determining object load
order and maintaining foreign keys.
The first major challenge is the ordering of objects in a migration. The
import of objects to the target must be correctly sequenced for the
migration to be successful. It is very difficult in any data model to get the
order of objects sequenced correctly, but it is espe cially challenging with
the Salesforce data model. The Salesforce data model has the concept of
required and non-required relationships among objects. It also has the
concept of circular references. These make it very challenging to get the
correct order of objects for a migration.
To understand order, take for example, the migration of Salesforce
Opportunity records. In order to successfully migrate Opportunity, we have
to determine what objects are required to be migrated before the
Opportunity records can be migrated. This is because the Opportunity
records have parents that are required relationships with Opportunity. In
this example the Account records would be a required parent of
Opportunity, because Opportunity has a required relationship with Accoun t
via AccountId. Therefore, the Account records would need to be migrated
before the Opportunity records are migrated. But, for the Account records
to be migrated, the User records have to be migrated because of a required
relationship via OwnerId. This example sequence is the basis for how an
order of objects is established for a migration. MigrateAmp determines this
and creates an order of objects for any migration automatically.
The second major challenge of migration is maintain foreign key
relationships while loading the target org. In salesforce, a new primary key
id is given to every record in an object when that record is inserted.
Therefore, all foreign keys that point to the record must be changed to use
the newly assigned Id.
MigrateAmp automatically keeps a cross reference table of old ids to new
ids and uses this cross reference table to ensure that the foreign keys are
maintained on the target org.
What is a Key Object?
In MigrateAmp, a key object is an object that is essential to migrate from
your source org to your target org. The key object(s) are the only objects
in a migration that will have its required and non-required fields fully
populated. Based on the key object(s) provided, MigrateAmp will
automatically construct the migration and fix up the fields that point to the
required and non-required relationships of the key object(s). One or more
key objects can be supplied for a migration. If more than one key object is
chosen for a migration, a table will need to be constructed for the key
objects. The instructions for constructing this table are provided in the