为原始表添加或修改扩展表Extends table

疫情期间也发个帖子,证明我们依旧小强。

免责声明:

  1. 如果你创建了一个新表后发现没有扩展自某表,建议删除重建,删除重建需要分别使用两个update set保存,否则更新到UAT或者PROD环境看不到,后果请自负。
  2. 使用代码添加或修改扩展表是不被Servicenow公司赞同的,如果你的表在创建后已经有很多功能了,担心数据问题,建议还是找SN公司,提一个ticket就能解决。如果直接使用本代码,造成数据不匹配等等问题,后果自负(SN也是这么说的哈)。

首先声明这种做法可以为原始表添加或修改扩展表Extends table。请自行去个人实例上去测试。

代码如下:

//Replace <source_table> with the table you want to extend
//Replace <table_extension> with the table you want to extend to, like cmdb_ci or task
var table = '<source_table>';
var old_parent = '';
var new_parent = '<table_extension>';

var changer = new GlideTableParentChange(table);
changer.change(old_parent, new_parent);

光有代码是不够滴。它的执行地点很重要。在Global下创建fix script,输入代码后执行, 请自行研究fix script各个选项。执行一次即可。

注意:GlideTableParentChange只能在Global下使用。使用此代码会改变原始表sys id,这也就是为什么要提出免责声明的原因。

猜你喜欢

转载自blog.51cto.com/13716461/2474924