Rollback
Any completed local pack, including the uploaded imported ones, can be rolled back. A rollback restores the versions of all the records in this local pack as they were before the start of the update collection. When you roll back an imported configuration pack, the system is restored to the state before the import. Deleted records are restored, and created records are deleted.
After a rollback is completed, the imported versions remain in the system as outdated VCS records. You can restore these record versions manually.
Example
- A configuration pack contains a record version X.
- Before the import, the target instance had a version Y.
- After the import of the local pack, the record version changed to X.
- When you rollback the local pack, the Y version of the record is restored.
Rollback a local pack
To rollback a local pack, complete the steps below:
- Navigate to Configuration → Local Pack.
- Open the local pack you need to rollback.
- Click Rollback preview to check the system's response to the record restoration.
- In the Related Lists area, open the VCS Preview Log tab.
- Filter out records in the Allowed state with the condition builder, and process possible collisions if there are any.
- Click Rollback to restore the records to the previous version.
As a result, the following changes occur:
Import result | Rollback result |
---|---|
A new table | The table and its records are deleted. |
A new field | The field and the information about the field is deleted. |
A deleted field | The field is restored to the database but the original data is lost. |
A record inserted | The record is deleted. |
A record deleted | The record is restored with its initial data. |
A record updated | The previous record version is restored. |
Collision processing
General process of solving the rollback collisions is the following:
- In the configuration pack that you need to rollback, click Rollback preview.
- In the Related Lists area, select the VCS Preview Log tab.
- Filter out the records in the Allowed state using the condition builder.
- Open the first record. Find the information about the error in the Message field.
- Make the necessary changes to solve the collisions.
- Click Save or Save and exit to apply the changes.
- Return to the configuration pack record and click Rollback preview.
- Ensure that the VCS Preview Log record state has changed to Allowed.
- Repeat the steps 3–8 until all necessary records in the VCS Preview Log are in the Allowed state.
- Click Rollback.
Collision cases
Collision case 1
When rolling back a local pack, the state of the record is Collision. The Message field contains the following text:
The current version for this target entry is in a different local package. https://{your-instance.ru}/record/sys_vcs_record/123455521418546721
Solution:
Move the current record to the local pack that you need to rollback, and click Rollback preview.
Collision case 2
When rolling back a local pack, a record changes its state to Collision. The Message field contains the following text:
Current record does not exist!
Solution:
Continue the rollback. The collision record will be skipped.
Collision case 3
When rolling back a local pack, a record changes its state to Collision. The Message field contains the following text:
Previous version for current is not found
Solution:
Continue the rollback. The collision record will be skipped.
Collision case 4
A local pack contains a new table as an Insert record. A rollback should cause the deletion of this table, but the records that it contains, prevent the table from removal. When the rollback is prepared, the state of the records changes to Skipped. The Message field contains the following text:
Table is not empty
Solution:
-
Set the state as Allowed to remove the table and its records.
OR
-
Keep the state Skipped unchanged, the table will remain in the system.
See more examples of possible collisions in the Collision Resolving Rules article.