Related Record Transfers
A parent record on its own is often not the whole story: an incident has tasks, a service request has approvals, a change has work notes. Relationship data to migrate copies those related child records to the target system as well, so each new parent record is created together with the child rows that belong to it.
Relationship transfers are optional, and they are configured separately from the parent's field mappings.
Configuring a transfer
- In the Migrate Data screen, open the Relationship data to migrate section and click Configure….
- On the dialog, click Add relationship data.
- Choose a source relationship - the child rows to copy from the source - or Manual record from parent to create an extra related record from the parent's own data (see Creating an extra related record from the parent).
- Choose the matching target relationship - where those child rows are created on the target.
- Click Field mappings… and map at least one child field. A relationship with no mapped child field is not migrated, and the card on the Migrate Data screen shows Needs mappings until that is done.
- Click Save on the transfer dialog, then Save on the Migrate Data screen.
Once every configured relationship has mapped child fields, the card reports Ready.
Prefer "Owns" relationships
Relationship types matter when choosing what to copy:
- Owns relationships (for example, Incident Owns Tasks) describe child rows that belong to the parent. These are the ones to copy.
- Links relationships (for example, Incident links to Status) usually point at lookup values rather than child rows, and often produce no data at migration time.
Referring to the new parent record
Each parent record is created on the target before its children, and the target assigns the new ID. In child field mappings and expressions, the placeholder {{TargetParentId}} resolves to that new parent ID, so a child row can be linked back to its parent. The Parent Record Id transformation does the same thing without writing an expression, and is only offered on child mappings.
Creating an extra related record from the parent
Not everything worth carrying across about a parent record belongs in a field on the parent - a long note, a summary, an activity entry. Manual record from parent is a source option in the transfer dialog, offered at the top of the Source relationship list, that creates a related record with no counterpart in the source data: instead of enumerating child rows, Cortex builds one related record per parent from the parent record itself.
- Choose the target relationship and map child fields as usual. Field mappings are still required - a manual transfer with no mapped child field is not migrated, exactly like a relationship-backed one.
- A manual transfer's field mappings resolve against the parent table, so parent fields, static values, expressions and
{{TargetParentId}}all work. - Each manual row creates exactly one related record per parent. Add the option more than once to create several extra related records per parent.
- Where the target system does not infer the parent link automatically, map the child's parent field with
{{TargetParentId}}so the new record points at its parent.
What happens during a run
Child rows are created after their parent record, using the transfer configuration attached to that record's field mapping. A child row that fails does not undo the parent:
- The parent record appears in Records needing attention if anything in the migration of that record failed.
- Where relationship transfers failed, the row offers Related transfer details, which lists each failed child with its relationship, target child table, source child record, message and status.
- Failures can be Retried, or accepted with Accept (and taken back with Restore) when the failure is expected - for example a child row whose source data is genuinely missing.
- Each failed child can be opened directly with View Child, and its source record with View Source Record.
See also
- Field Mappings - the parent record's mappings, and the transformations child mappings share
- Running and Monitoring a Migration - progress, background runs and retries