Uploading of a pack happens after attaching a SOP file to the record of a retrieved pack. During the uploading process, the system verifies whether the VCS records may cause collisions with the target instance configuration. Study and resolve collisions when the pack has been loaded.
Collision is a logical contradiction between the current and the imported content or configuration properties of a record. |
Use case:
You can find the information about loading the pack in the VCS Preview Log related list of the Retrieved Pack record form. The loading state of each VCS record is specified in the State field. If there is a collision, see the Message field for details.
Available state options:
State | Description |
---|---|
Collision | The VCS record version requires the user's attention and can not be implemented until the collision is solved. |
Good | The VCS version does not cause a collision. |
Skipped | The VCS record will be ignored while installing the pack. To import the version, change its state to Good. |
Warning | The VCS record is valid, but has some minor import issues. Depending on the error, the record versions are either implemented or ignored. |
To solve collisions, complete the following steps:
Make necessary changes in the JSON Copy field.
In some cases, especially when the version records require complex fixes, it is preferable to configure the erroneous records on the source instance. Re-attach the pack to the Retrieved pack record, and click Load again. |
If a record causes multiple collisions, the system displays only the first one. Process it and click Prepare changes to see the next collision caused by this record. |
Collision case 1A pack contains a record X that references a record Y. The record Y does not exist on the target instance and is not included into the retrieved pack. When loading a VCS record, the following information appears in the Message column of the VCS Preview Log:
Solution:
|
Collision case 2A pack contains a record version X for deleting from the system. But there is a reference to this record in the configuration pack or on the instance. When loading a VCS record, the following information appears in the Message column of the VCS Preview Log:
Solution:
|
Collision case 3The set of fields mismatches when importing a pack. Details: The Scheduled scripts table on the source instance contains N fields. The Scheduled scripts table on the target instance contains N-1 fields (see the scheme below). When loading a VCS record, the following information appears in the Message column of the VCS Preview Log:
Solution:
OR
|
Collision case 4A record version on the target instance is newer than the one in the configuration pack. You can determine it by the date and time stated in the value of the sys_updated_at key in the JSON copy field. The record versions that are older than the ones in the system will be in the Skipped state. When loading a VCS record, the following information appears in the Message column of the VCS Preview Log:
Solution:
OR
|
Collision case 5A configuration pack contains a table that should be deleted. The same table on the target instance contains some records. When loading a VCS record, the following information appears in the Message column of the VCS Preview Log:
Solution:
OR
|
Collision case 6A configuration pack contains a version of the application X. The target instance does not have this application installed. When loading the pack, the following information appears in the Message column of the VCS Preview Log:
Solution:
|
Collision case 7A unique key violation causes a collision. Details:
Solution:
OR
|
Collision case 8The column to be inserted exists on some level of inheritance. Details: The target instance has a table X and its child table Y. The table Y inherits columns of the table X. These columns belong to the table X (See the Table Extension article to learn more). The pack has a VCS record, which inserts column A to table Y. At the same time, the parent table X already has the same column A. When loading a pack, the following information appears in the Message column of the VCS Preview Log:
Solution: Set the Skipped state for the record X. |
Collision case 9An imported column contains a reference to a table that does not exist on the target instance. The configuration pack also does not contain a record of the table. When loading a pack, the following information appears in the Message column of the VCS Preview Log:
Solution: Import a pack with a version of the table, and then reload the configuration pack with that column. |
Collision case 10It is impossible to import a record, if its Protection policy is Protected. When loading a pack, the following information appears in the Message column of the VCS Preview Log:
Solution: The solution depends on the Protection policy that the target record should have after the pack is loaded.
1. In the VCS Preview Log, open the necessary record. 2. In the related list of the form that opens, click the record in the Retrieved Record tab. 3. Change the Protection policy to Protected. 4. Click Prepare changes on the top right of the form. As a result, the Message value for the record version in the VCS Preview Log has changed.
1. On the source instance, open the VCS record that caused the collision and select the Is strong override checkbox. 2. Export the local pack with the updated record version and import it to the target instance. |
Collision case 11A VCS record on the target instance has been changed (Protection policy = Changed). When loading a pack, the following information appears in the Message column of the VCS Preview Log:
Solution:
|