Snapshot packages
If you create a Snapshot package definition, its corresponding package contains the configuration content that exists at the moment the package is created.
Use a Snapshot package definition when you want to migrate the following configuration content:
- Many changes at the same time
- Data that you cannot capture in Change packages because the data loading is performed by scripts
- The initial data load when you are setting up an environment
- Complex changes that require frequent revisions
Typically, you use a Snapshot package during the initial configuration of an environment.
By default, all records in a package definition are contained in a Snapshot package. However, you can filter the data to be included by defining SQL WHERE clauses on the migration objects that are in the package definition. For example, if you create two workflow processes, you can construct an SQL WHERE clause that ensures that only the records that are related to those two processes are included in the package. The criteria are applied to the root object of each object structure that is part of the package definition.
For Snapshot package definitions, you must specify a processing action. The default processing action, Replace, is used at deployment time to replace existing records in the target and to delete related records that are not in the Snapshot package. The AddChange processing action is used at deployment time only to add changed records to the target. Use the AddChange processing action only when configuration records have already been migrated to a target environment and changes have been made in the target environment that you do not want to lose when migrating further changes.
You can override the processing action in the Upload Compiled Sources window when you create a package.
An escalation for service requests is created in a development environment and migrated to a production environment by using a Snapshot package. The escalation has two escalation points. In the production environment, a third escalation point is added to support a business requirement. At the same time, in the development environment, minor changes are made to one of the previous escalation points.
The package that contains the changed escalation point is migrated again to the production environment by using the Replace processing action. In this situation, the production change to the escalation is lost because the escalation in the production environment is replaced by the updated development escalation.