我在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。这种方法有什么问题吗?
答案 0 :(得分:1)
hybris在“运行”系统中不支持这样的更新。 原因是hybris不会丢弃任何db列并重新创建它们,因为其中包含的任何数据都将丢失(加上它可能很难为多个支持的数据库编写此逻辑)。
如果您处于项目的开发阶段,解决此问题的最简单方法是从头开始初始化您的系统(即它将删除数据库并重新创建它)。
如果您有一个实时系统/生产系统,则必须采取另一种方法: 您将使用枚举类型定义新属性(不同的名称!)。 然后,您可能会更新任何代码以使用新字段。 您还必须处理数据迁移,即编写一些传输旧数据的脚本(例如字符串“Monday”到新的相应枚举值)。
希望这有帮助!