为数据库更新增强 persistence.xml

Enhance persistence.xml for database update

为了开发和部署我的 WAR 应用程序,我使用了 drop-and-create 功能。基本上从数据库中删除所有内容,然后根据我的@Entity-类.

自动重新创建所有必要的 tables 和字段

显然,对于生产,drop-and-create 功能是不可能的。我将如何创建数据库 tables 和字段?

@Entity-类 的好处在于,由于 OQLEntityManager 的使用,生成了所有数据库查询,因此 WAR 应用程序独立于数据库。如果我现在必须在 SQL 中手动创建查询,然后让应用程序执行它们,那么我将不得不决定它们使用哪种 sql 方言(即 MySQL、Oracly、 SQL 服务器,...)。有没有办法独立创建 tables 数据库?有没有办法 运行 结构数据库更新以及独立的数据库(即数据库版本 1 到数据库版本 2)?比如更改字段或 table 名称、添加 table、删除 table 等?

感谢@Qwerky 提及 Liquibase。这绝对是一个解决方案,非常适合我的情况,因为我不必再担心版本控制了。 Liquibase非常简单易懂,分分钟学会。

任何正在寻找数据库版本控制/方案设备的人:

Liquibase