在客户上编辑唯一索引

2020-09-15 13:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)通过超级项目类型Principa...

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

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


通过超级项目类型Principal,项目类型Customer具有唯一的索引UID。 Principal还将uid列为唯一属性。

我需要更改此索引,以在唯一索引中添加一列。

我尝试了以下操作,但不起作用。

  
      <属性>
          
              
          
      
      <索引>
          
              
              
          
      
  

  

我也尝试过。

  
      <属性>
          
              
              <修饰符read =" true" write =" true" search =" true"可选=" false" unique =" false"/>
              <自定义属性>
                  
                      "领域" 
                  
              
          
          
              
          
      
      <索引>
          
              
              
          
      
  
 
  

运行更新系统时,没有任何变化。

  [java] INFO [main] [HybrisSchemaGenerator]读取类型系统信息。 花费时间1.773 s
   [java]信息[主] [HybrisSchemaGenerator]准备Db模型。
   [java]信息[主] [数据库模型生成器]类型(4)与表(用户)的索引(UID_4)已存在
   [java]信息[主] [DatabaseModelGenerator]具有(876)个表的准备好的数据库模型。
   [java]信息[主] [HybrisSchemaGenerator]准备的Db模型。 花费时间7.896 s
   [java]信息[主] [HybrisSchemaGenerator]准备目标和源模型
 


  

有人能指出我正确的做法吗? 我正在使用Hybris 6.4。

6条回答
me_for_i
2020-09-15 13:52

您已经注意到,即使在索引约束使操作失败之前,默认的UniqueAttributesInterceptor也会阻止您执行操作,

  1. 不要重新声明UID属性-这样做没有意义

  2. 也将新的标题属性声明为唯一,以便绕过UniqueAttributesInterceptor

  3. 声明具有2个属性的新的唯一复合索引

  4. 创建一个SQL脚本,该脚本将直接从数据库中删除仅UID唯一索引,您可以在侦听init/update消息的类中执行它

一周热门 更多>