我正在研究使用Hibernate进行数据库访问的东西。我已经设置好所有工作,以便我可以使用mvn hibernate3:hbm2ddl来构建数据库模式,我正在使用mvn liquibase:update将初始数据填充到数据库中(DBUnit是我的第一次尝试,但我无法'让它与Oracle和Liquibase合作第一次工作。)
我的问题是,如果我执行hbm2ddl删除并重新创建模式,那么Liquibase DATABASECHANGELOG表保持不变,这意味着Liquibase不会在下次运行时重新创建数据。为了解决这个问题,我已经配置了mvn sql:execute来对相关的两个表执行删除操作,但这意味着如果我想从头开始构建数据库是安全的,我现在需要执行“mvn hibernate3:hbm2ddl sql:execute liquibase:update“
我真正喜欢的是能够在运行hibernate3:hbm2ddl命令时配置执行sql:execute命令的东西,这样我就知道做那个命令会让我干净利落数据库状态。如果失败了,一个会自动按顺序运行多个命令的配置,所以我可以配置例如“mvn execute:db-rebuild”来自动运行上面的三个命令。
我见过提到mojo-executor,但实际上没有关于如何使用它的例子。我甚至不确定它是否适合我想要的工具......
答案 0 :(得分:0)
为什么不将这些不同的东西绑定到特定的东西,如集成测试阶段。插件的顺序将定义exectutions的顺序。比你摆脱手叫mvn ......