1

我有一个正在运行的 JavaEE Web 应用程序 (WAR),其实体将在应用程序的下一版本中更改。当然,这也意味着底层数据库的结构变化。

在应用程序重写后保留旧数据并迁移到新实体结构的最佳方法是什么?

是否必须在重新部署之前手动更改数据库结构或有其他方法?

4

2 回答 2

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" />

此功能允许创建数据库表并修改已存在的任何表,以使其与对象模型匹配。

于 2013-05-31T04:24:09.283 回答
0

您想使用代码库对升级和降级数据库脚本进行版本控制。您的升级脚本应该能够确保您现有数据的安全。在应用更改之前,您应该始终进行备份。试试 liquibase。

于 2013-05-30T16:22:37.687 回答