有许多框架可以自动更新数据库模式,Liquibase就是一个很好的例子。这适用于简单的数据库更改,例如添加字段或更改数据类型,但是当更改涉及更改实际数据时,更新可能涉及执行用Java编写的业务逻辑。 Liquibase支持java变更集,但通常(为了使数据库与实体匹配)Liquibase在EJB服务启动之前运行。
我正在寻找的是一个管理和执行Java片段的框架,类似于Liquibase,但是分开运行。
答案 0 :(得分:1)
您可以使用在EJB服务启动后执行的第二轮Liquibase。在第二个更改日志中,使用CustomTaskChange实现来执行您想要的任何商业逻辑。
内置的Liquibase执行方法是为了在流程的早期运行而构建的,但您可以轻松地使用liquibase.Liquibase API将Liquibase的新调用嵌入到最适合您的代码中。