我有一个正在运行的JavaEE Web应用程序(WAR),其实体将在下一版本的应用程序中进行更改。这当然也意味着底层数据库中的结构变化。
在应用程序重写后保留旧数据并迁移到新Entity结构的最佳方法是什么?
重新部署之前是否必须手动更改数据库结构?还是有其他方法吗?
答案 0 :(得分:1)
在EclipseLink 3.4中,向persitence.xml添加持久性属性。
<property name="eclipselink.ddl-generation" value="create-or-extend-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
此功能允许创建数据库表并修改任何已存在的表,以便它们与对象模型匹配。
答案 1 :(得分:0)
您希望版本控制升级并使用您的代码库降级db脚本。您的升级脚本应该能够确保您现有数据的安全性。在应用更改之前,您应该始终进行备份。试试liquibase。