我有一个正在开发中的应用程序,它支持几个数据库,包括SQL*Server 2008、Oracle 10G、Oracle 11G、MYSQL 5等。在Maven中,我已经做了三件事:
1)每个数据库都有一个概要文件,以便系统可以在构建过程中使用它进行集成测试。
2) Maven调用hibernate3插件,使用hbm2ddl自动生成模式脚本。
3)建立Hudson矩阵,自动对每个数据库进行集成测试。
我注意到(毫不奇怪) hbm2ddl创建的脚本因数据库方言的不同而不同。
但是,当为客户打包系统时,我们必须手动进入各个Hudson构建,并从其中提取数据库特定的脚本。一个乏味的过程,我肯定会在最坏的时刻咬我们!
我们是否可以让Maven自动生成并收集所有这些数据库脚本,以便将它们打包在我们发送给客户的WAR文件旁边?我正在考虑Maven程序集插件来将其全部压缩,但我不确定!
发布于 2010-10-06 17:50:40
我们是否可以让Maven自动生成并收集所有这些数据库脚本,以便将它们打包在我们发送给客户的WAR文件旁边?我正在考虑Maven程序集插件来将其全部压缩,但我不确定!
问题是,每个概要文件运行都会生成脚本(至少我的理解是这样),除非您将它们打包到某种不同的工件(可能是程序集)中,并在每次运行时安装/部署它们,否则您将无法在随后的步骤中使用Maven获取它们。
另一种方法是有一个模块,并定义几个执行hbm2ddl目标的模块。但恐怕这会打败所有的侧写资料。
或者您也可以使用M2额外步骤插件来依赖Hudson,并在Maven构建中添加一些构建后步骤(不确定这是否有帮助)。
https://stackoverflow.com/questions/3873124
复制相似问题