未删除ItemType上的属性

2020-09-17 03:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我们正在使用Hybr...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在使用Hybris 6.6.0.0,并通过items.xml向名称为" newField"的产品添加了属性(localized:java.lang.String)。我们部署了新属性并添加了Values 属性。 一段时间后,我们发现不需要该属性,并将其从item.xml中删除。 在我们再次部署更改后,由于作业试图从已删除的属性读取值,因此SyncJobs失败。

在以前的版本中,我们添加和删除了没有问题的字段。 这是Bug还是Hybris的新行为?

3条回答
大简至美
2020-09-17 03:34

要从hybris和DB中完全删除属性,您需要在更改items.xml之后进行初始化,或者手动运行SQL查询 在数据库上删除列(或常规脚本),然后从HAC进行更新。

运行此impex删除属性:

  REMOVE AttributeDescriptor;  qualifier [unique = true];  enclosingType(code)[unique = true]
  ;  newField; 产品
  

然后在提交模式下从HAC运行此groovy脚本以将其从数据库中删除:

 导入org.springframework.jdbc.core.JdbcTemplate
      JdbcTemplate jdbcTemplate = spring.getBean(" jdbcTemplate")
      尝试{
      int行= jdbcTemplate.update(" ALTER TABLE产品DROP COLUMN {yourdatabasecolumname};")
      } catch(Exception e){
      println(String.format("'%s'",e.getMessage()))
      }

  

数据库中的列名通常为p_attributename

一周热门 更多>