在Hybris的items.xml中重新定义数据类型

时间:2017-08-23 21:17:34

标签: hybris

我在items.xml中定义了如下数据类型:

Date         CUSIP   Asset   Liability
01-01-1990     A       1         2
02-01-1990     A       3         2
01-01-1990     B       1         2

要将数据类型修改为枚举,我按如下方式重新定义:

 <attribute qualifier="daysOfWeek" type="java.lang.String">
                    <persistence type="property" />
 </attribute>

更新扩展后,我收到了SQLException。这种方法有什么问题吗?

1 个答案:

答案 0 :(得分:1)

hybris在“运行”系统中不支持这样的更新。 原因是hybris不会丢弃任何db列并重新创建它们,因为其中包含的任何数据都将丢失(加上它可能很难为多个支持的数据库编写此逻辑)。

如果您处于项目的开发阶段,解决此问题的最简单方法是从头开始初始化您的系统(即它将删除数据库并重新创建它)。

如果您有一个实时系统/生产系统,则必须采取另一种方法: 您将使用枚举类型定义新属性(不同的名称!)。 然后,您可能会更新任何代码以使用新字段。 您还必须处理数据迁移,即编写一些传输旧数据的脚本(例如字符串“Monday”到新的相应枚举值)。

希望这有帮助!