DELETE records aren't captured in scoped app

Imi NOW
Tera Contributor

Hi community,

I develop scoped application and install through My Company Applications to QA and PROD.

I encountered an issue regarding deleting records. We have dozens of Transform Maps, Scheduled Jobs, Fields etc. which must be deleted on the PROD instance.

Currently we have an issue and inconsistency of metadata and data on the instances.

Is there a possibility to include the delete records to app and install as usual records? I'd like to avoid transferring Update Sets since in future might be lost or forgotten.

Many thanks!

5 REPLIES 5

Mehta
Kilo Sage
Kilo Sage

Deleted Records are not included with app and can not be moved through update set. You have to capture all the delete updates in an update set then migrated it between different instances. 

 

The Application captures only configuration that are currently present, if you made any changes after migrating the app. you have move update set for those changes.

Imi NOW
Tera Contributor

Based on articles below they can be performed after setting the system properties correctly:

https://docs.servicenow.com/bundle/rome-application-development/page/build/applications/reference/ge...

https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=825004addb9d0150e2adc2230596199e

 

Even though, we set the properties: 

com.glide.apps.force_skips -> set to TRUE

com.glide.apps.include_my_schema -> set to TRUE

it doesn't work as intended...

 

After upgrading the scoped app, please take a look at the "Plugin Installation History" Module. Your application installation will be listed there (with the apps scope name), you will probably notice the deletions under skipped changes to review.

In case somembody has the same issue: I performed long trial and error an succeeded in following approach using the new ServiceNow Studio, but it should also work for the old studio:
1. create system property com.glide.apps.include_my_schema in target instances (TEST and PROD) in Global scope
type "true | false" and value true
(it exists in newer installations ootb)

 

2. create system property com.glide.apps.include_my_deletes in DEV instance (!) and also in target instances - create in the relevant Application scope, not in Global scope.
type "true | false" and value true
It is especially important that this property is also set in the DEV/source instance. This is where the documentation is very weak.

 

Then the deletions are also transferred to the target instance.