- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-21-2021 11:52 AM
Hi folks,
I just deleted one field from a table and I can see a entry of type sys_metadata_delete in my update set.
When I have previously deleted the fields from any table I usually saw only 2 entries. label and dictionary.
Can someone explain why is this entry present? Is it bcoz this field had data in the table?
or is it coz I created the new field with the same name?
Is it safe to move it forward?
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-22-2021 01:06 AM
Hi,
For more information please refer this link,
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0862924
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-21-2021 11:13 PM
Hi,
Deleting and recreating a field with the SAME name on [task] (or a child table) adds 'sys_metadata_delete' records to the Update Set that captures the recreation of the field.
These 'sys_metadata_delete' records interfere with the field creation on the target instance. At commit time, the "Confirm Data Loss" warning is displayed: "If you commit this update set, the system will automatically delete all data stored in the tables and columns that are defined in these Customer Updates:"
As a result, the field has a [sys_dictionary] record, a [sys_documentation] record but no [sys_storage_alias] record. The label appears blank and cannot be changed.
Steps to reproduce:
- Create a new Update Set and make it current.
- From [sys_dictionary], create a new field on a table extending [task]. (For example: [incident], new data/time field). Make a note of the name.
- Complete and export the Update Set.
- Create another Update Set and make it current.
- Delete the field created at step 2.
- Complete and export the Update Set.
- Create another Update Set and make it current.
- From [sys_dictionary], create a new field with the SAME name as step 2 >>> Column label and name should be the same.
- Access the Update Set and observe that it includes 2 'sys_metadata_delete' records > 1 for the Dictionary and 1 for the Documentation.
- Complete and export the Update Set.
- On another instance, apply all 3 Update Sets in order.
> Current behavior: The field has a [sys_dictionary] record, a [sys_documentation] record but no [sys_storage_alias] record.
> Expected behavior: The 'sys_metadata_delete' records should not be included in the Update Set when recreating the field.
Please mark as helpful or correct , if this solution helps you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-21-2021 11:49 PM
Hi Nasreen
Thanks a lot for the response. Just a quick clarification
1) Can I not proceed with all entries in a single update set?
2) what do you mean when you say "These 'sys_metadata_delete' records interfere with the field creation on the target instance". This interference is in a positive way to create the new field in right way?
3) Got confused with the current behavior and expected behavior part?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-22-2021 12:52 AM
Hi,
1)you have to create one more updateset
2)Yes. that sys_metadata_delete is interfering with another instance of field creation. bcoz, the field name is same.
3)current behavior is what you mentioned in question
Expected behavior is sys_metadata_delete record will not be there in updateset
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-22-2021 01:03 AM
hi,
For more information please refer this link,
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0862924