Huw Nolan
Kilo Explorer

The following article was written as a response to a query regarding Whitespace Studios Upgrade Assistant, which is a free utility offered on ServiceNow Share: [ws] Upgrade Assistant.

Introduction

When a ServiceNow upgrade runs, it puts a record into the System Upgrades [sys_upgrade_history] table (Accessed from the Upgrade History module). The upgrade will consist of thousands of updates and each one of these is recorded in the Upgrade Details [sys_upgrade_history_log] table, linked to the System Upgrade record.

A single update refers to a single configuration record (aka Application file) and its update_name (aka file_name) is usually the name of the configuration table followed by the sys_id of that specific record (e.g. for a Business Rule it could be sys_script_<sys_id>).

Skipped updates

When the upgrade process notices that that an update has been modified by a customer (i.e. there is an entry for it in the Customer Updates [sys_update_xml] table), it marks that update as Skipped and adds an entry to the Update Versions [sys_update_version] table for it with a State of 'History'.

So, for any given update, the Update Versions table could hold multiple entries:

- One should have a state of Current - the newest version of an update in the instance at present;
- Several will have a state of Previous - a record of all previous updates to the configuration record;
- One may have a state of History - as added by the upgrade above;

[ws] Upgrade Assistant versions

On the Versions tab of Upgrade Assistant, for a given Update Details record:

a) The Baseline (or Base) version is the Update Version whose state is History (i.e. the update that came with the Upgrade);
b) The Current version is Update Version whose state is Current
c) The Current update is the newest Customer Update in the instance at present;

Records (b) and (c) should be the same configuration data.

When we want to see the difference between what came with an upgrade and what is in the instance at present, we need to compare (a) above against either (b) or (c).

What we found when developing Upgrade Assistant is that sometimes (a) or (b) or (c) could be missing, and so we had to detect that and allow for it. In an ideal world this should not be the case, but we need to work with what we find and cater for that.

 

 

Version history
Last update:
‎02-26-2018 02:17 AM
Updated by: