Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
After loading a .SOP file into a retrieved pack record or after merging several local packs, some VCS records can thrown some errors. For example, the translation records on the target instance are different from the ones in retrieved pack causing data inconsistency, or any other reason.
Generally, collisions may appear during the configuration pack import process. Their leading cause is that the dependent table or record does not exist in the database.
Consider a common use case:
- We have exported the Incident table, child for the Task table.
- We import it to the instance without the Task table.
- In this case, the Incident table cannot be created on the target instance, because there is no parent table from which to inherit.
After that, you can find the erroneous record at the VCS preview log related list (in the VCS Retrieved Pack section). This record has the state = collision and Collision state and the appropriate Error Text containing the error cause. Erroneous records cannot be included in the saved records pack (VCS Records) bound to the retrieved pack that is used for data recovery.
To resolve a collision, follow these steps:
- In the configuration pack you need, scroll down to the Related Lists area and open the VCS Preview Log tab.
- Filter out records in the Good state using the Condition Builder.
- Open one of records.
- Read the text in the Error Text field to find the error cause.
- Make necessary changes to the record in the JSON Copy field.
- Click Save or Save and Exit to apply changes.
- Return to the configuration pack record and click Prepare changes.
- Make sure that the VCS Preview Log record state has changed to Good.
- Repeat these steps for every record in the Collision state if there are more than one.
- When all records in the VCS Preview Log are in the Good state, click Import pack.
Image Added
Note |
---|
Please keep in mind that if any collisions occurred during the local pack preview, the process will be canceled on the first occasion, the others will not be shown. |
Collisions disposal methods
The idea in the collision fixing process is to try to dispose of collisions in the highest level tables. This method allows removing collisions in the lower-level tables automatically. It can be done about like this:
- Filter the records in the VCS Preview Log by the state (state = collision).
- Analyze errors for the records at the top of the list.
- Alternative way: you can filter the list by the Table field. The highest-level tables to analyze are, for example, sys_db_table, sys_number, sys_db_column, and some others.
- After the error cause was found, it must be fixed on the source instance. The configuration pack is to be exported and previewed again by clicking Preview Again Local Pack.
- If collisions are gone, then this configuration pack can now be imported. Herewith, all the records from the last configuration pack attached are imported. The retrieved pack status changes to Loaded. The records are added to the VCS Record (sys_vcs_record) table. The last preview log is available in the Related Lists area.
- After importing, the retrieved pack applying possibility appears. For this, click Apply Local Pack. The system restores records from this configuration pack (in other words, from the VCS Record (sys_vcs_record) table records attached to this retrieved pack). The retrieved pack changes its state to Committed.
- If the collisions are not gone, then return to the previous steps.
Panel |
---|
Collision case 1When installing a configuration pack in the system, some record “X” is added. At the same time, it is referenced to another records “Y” in this system and in this configuration pack. Both records that the record ‘X’ is referenced to do not exist. When the export admin initiates a configuration pack preview (using a Preview Local Pack button), the collision is thrown on this record, which is an expected result. Collision solving: The solution is the configuration pack rebuilt in order to get the record “Y” into it. |
Panel |
---|
Collision case 2The record “X” is deleted from the system. At the same time, there is a reference to this record in the configuration pack. When the export admin initiates a configuration pack preview (using a Preview Local Pack button), the collision is thrown on this record, which is an expected result. Collision solving: The solution is the configuration pack rebuilt in order to remove this record from it. |
Panel |
---|
Collision case 3Create a table in the source instance, with the field number equal to N. Create the same table with the same name in the target instance, with the field number equal to N-1. In the source instance, perform the export of the table fields into a configuration pack, after that download a .SOP file and unpack it in the target instance. The result will be a collision thrown, and a message that this object is not valid, any actions on it cannot be taken. Collision solving: To solve this collision, create or update the object, excluding attributes missing on the target instance. In the above example, the N-fielded table will be successfully imported to the target instance, where the (N-1)-fielded table is created. But, the fields that exist in the source instance and are not in the target instance will not be created in the target instance. See the schema below.
|
Panel |
---|
Collision case 4The records on a target instance are newer than in a configuration pack to install. It can be determined by the date and time of record creation. Collision solving: Export admin needs to initiate a local pack preview. In the process:
|
Panel |
---|
Collision case 5A table being deleted from instance contains records (is not empty). If the table being deleted is empty, then there is no collision. Collision solving:
|
Panel |
---|
Collision case 6A configuration pack contains objects related to the application X. At some moment, export admin tries to apply this configuration pack to the instance that does not have this application installed. Collision solving: The solution is to rebuild the configuration pack in order to add records related to the missing application. |
Panel |
---|
Collision case 7Partial attributes mismatch between instances. User case description. Create a table on the source instance, with the field number equal to N. Create the same table with the same name on the target instance, with the field number equal to N-1. On the source instance, perform the export of the table fields into a configuration pack, after that, download a .SOP file and unpack it on the target instance. The field names on source and target instances are slightly different. See the schema below.
|
Panel |
---|
Collision case 8The collision cause is a unique key violation. User case description
Collision solving The collision solving method is to decide which translation record is more up-to-date. If an initial record located on the target instance is more up-to-date, then the collision record can be dropped from the configuration pack and not imported. If a new record being imported is more up-to-date, then this record should be imported, what will cause initial record overwrite. |
Table of Contents | ||||
---|---|---|---|---|
|