Migration import logic
Migrating data between Collibra environments requires careful consideration of how objects are handled during the import process. This document outlines the core migration import logic, focusing on object matching using IDs and logical keys. You learn how Collibra determines whether to create new objects, update existing ones, or skip objects during migration, and how this process impacts your data.
Import matching
During import, Collibra tries to match each migrated object with an object in the target environment. In most cases, matching is done first based on the ID of the object. If the target environment does not have an object matching the ID, because the object is new to the source environment for example, the matching algorithm tries to use a logical key. This logical key may be different depending on the type of object.
In most cases, the logical key is the name of the object. For others, it is usually a combination of properties, for example:
- For relation types, the logical key is the combination of the source (head) asset type, the role, the co-role, and the target (tail) asset type.
- For assignments, the logical key is the combination of the asset type ID and scope ID.
Outcome of importing an object
Depending on the similarity of the objects in the archive and the target environment, importing an archive may edit existing objects or create new ones.
Note Migration never deletes objects, but it may reduce assignments, rename assets, or perform other modifications.
The table below describes the general import logic:
Outcome |
When |
Description |
---|---|---|
A matched object is not edited. |
The matched object has the same properties as the migrated object. |
If the migrated object and the object in the target environment have the same properties, nothing happens. |
A matched object is edited. |
The matched object has different properties than the migrated object. |
The matched object is edited with the properties from the migrated object. Migration will never delete objects, but it may reduce assignments, rename assets, and so on. Example
|
An unmatched object is updated in addition to the matched object. |
In the target environment, another object has the same name as the matched object. |
The matched object is edited with the properties from the migrated object, including the name. The name of the unmatched object is changed to Example
The archive contains an asset type The target environment contains two asset types:
Since there is a match on ID, after the import, the target environment contains the following updated assets:
|
A new object is created. |
No match is found. |
A new object is created with all properties from the migrated object, including the ID. |
Import logic by object
Depending on the migrated object, different fields and secondary objects are exported along with it. This also affects the matching logic when the objects are imported in the target environment. The table below provides further information about how primary and secondary objects are imported:
Use these options to filter the rows of the table to your needs:
Object | Import logic | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Asset
|
Matching logic based on:
If there is a match on either the ID or the logical key, the asset is updated. Otherwise a new asset is created. Note You cannot migrate assets that belong to system-owned domains, such as the Issues domains. |
||||||||||||||||||||
Asset type
|
Matching logic based on:
The following table contains the possible cases and results.
Note
|
||||||||||||||||||||
Assignment |
Matching logic based on:
If there is a match on either the ID or the logical key, the assignment is updated. Otherwise a new assignment is created. Note Assignments are imported in a specific order:
|
||||||||||||||||||||
Attribute
|
Matching logic based on:
If there is a match on either the ID or the logical key, the attribute is updated. Otherwise a new attribute is created. Note
|
||||||||||||||||||||
Attribute type
|
Matching logic based on:
Whenever the kind does not match, as a result of APIs deleting and recreating attribute types, a new attribute type is created while existing attribute types with the same name are renamed. Assuming a match in kind, the following table contains the possible cases and results.
Note If you import an attribute type of the kind Selection or Multiple Selection via the Solution install, allowed values from the CMA file are added to the list of allowed values in the target environment. Tip If you know that fundamental changes were made to attribute types, you can avoid potential issues by deleting attribute types in the target environment before importing the archive. |
||||||||||||||||||||
Community
|
Matching logic based on:
If there is a match on either the ID or the logical key, the asset is updated. Otherwise a new asset is created. Note Communities are imported using the depth-first order. |
||||||||||||||||||||
Complex relation type
|
Matching logic based on:
The following table contains the possible cases and results.
Note
|
||||||||||||||||||||
Data quality rule |
Matching logic based on:
The following table contains the possible cases and results.
|
||||||||||||||||||||
Domain |
Matching logic based on:
If there is a match on either the ID or the logical key, the community is updated. Otherwise a new community is created. Note You cannot migrate Issues domains. |
||||||||||||||||||||
Domain type |
Matching logic based on:
The following table contains the possible cases and results.
Note Domain types are imported using the depth-first order. |
||||||||||||||||||||
Relation type |
Matching logic based on:
The following table contains the possible cases and results.
|
||||||||||||||||||||
Roles |
Matching logic based on:
The following table contains the possible cases and results.
|
||||||||||||||||||||
Scope |
Matching logic based on:
The following table contains the possible cases and results.
Note The global scope cannot be migrated. |
||||||||||||||||||||
Status |
Matching logic based on:
The following table contains the possible cases and results.
|
||||||||||||||||||||
Validation rule |
Matching logic based on:
If there is a match on either the ID or the logical key, the validation rule is updated. Otherwise a new validation rule is created. Note If there is a match, only the Description and Validation script are changed. Other characteristics are not changed. |
||||||||||||||||||||
Workflow |
Matching logic based on:
The following table contains the possible cases and results.
|
||||||||||||||||||||
Navigation objects |
|
||||||||||||||||||||
Asset view
|
Matching logic based on:
If there is a match on either the ID or the logical key, the asset view is updated. Otherwise a new asset view is created. |
||||||||||||||||||||
Dashboard
|
Matching logic based on:
If there is a match on either the ID or the logical key, the dashboard is updated. Otherwise a new dashboard is created. The following table contains the possible cases and results. |
||||||||||||||||||||
Diagram view
|
Matching logic based on:
If there is a match on either the ID or the logical key, the diagram view is updated. Otherwise a new diagram view is created. |
||||||||||||||||||||
Search filter
|
Matching logic based on:
If there is a match on either the ID or the logical key, the search filter is updated. Otherwise a new search filter is created. |