点击此处---> 群内免费提供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。
系统更新不会更改现有索引。
我认为,如果您将其添加为新索引(即为其命名),则应在系统更新时创建它。
否则,您的另一个选择是系统初始化(如果您想保留数据,则可能不可行)或自己手动更改数据库中的索引。
为什么不能重命名索引(也许是uid_banner)?
干杯,托马斯
您已经注意到,即使在索引约束使操作失败之前,默认的UniqueAttributesInterceptor也会阻止您执行操作,
不要重新声明UID属性-这样做没有意义
也将新的标题属性声明为唯一,以便绕过UniqueAttributesInterceptor
声明具有2个属性的新的唯一复合索引
创建一个SQL脚本,该脚本将直接从数据库中删除仅UID唯一索引,您可以在侦听init/update消息的类中执行它
我无法。 UID是主体上的唯一密钥,我无法删除它。 即使我设法删除了Customer表的唯一键,我也遇到了很多验证器,这些验证器不允许我插入与唯一键冲突的数据。 因此,我放弃了尝试。
您需要使用其他修饰符重新声明Principal UID索引,然后添加覆盖旧索引的新索引(也许还需要手动删除旧索引):
我也在尝试覆盖项类型的唯一索引。 哪种解决方案最适合您?
一周热门 更多>