jon*_*tro 6 java schema database-migration jdo datanucleus
我们在其中一个项目中使用JDO.这已经运行了很长一段时间,我们自然需要稍微改变模型.
在JDO中迁移实体类中的字段时,最佳做法是什么?
enum MyEnum {
REGULAR,
MYOLDTYPE // Delete this
}
@PersistenceCapable
public class Entity {
@Persistent
MyEnum myEnumType;
@Persistent
String myString; // Rename this
}
Run Code Online (Sandbox Code Playgroud)
如果我删除枚举值,如果从数据库加载时已经存在异常,那么如何迁移它?
如果我想将myString重命名为myNewString,如何将列重命名为新名称?
首先查看您的数据存储(RDBMS?,还有其他什么?),看看您是否保留为基于字符串或基于数字。
如果您更改枚举,那么您要负责
迁移数据存储的内容
更改 Enum 定义,以便 Enum.valueOf(String) 返回您希望旧值映射到的内容。或者,如果坚持使用 RDBMS,请使用http://www.datanucleus.org/products/accessplatform_3_0/jdo/types.html底部的 DataNucleus 扩展,您可以在其中定义一个方法来获取字符串值的枚举。
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |