2012-07-20 58 views
0

在maven项目上,在流程测试资源阶段,我使用sql-maven-plugin设置了数据库模式。在这个项目中,我使用与数据库名称完全相同的内容栏重复N次设置的N个数据库分片。一切都按预期工作。如何循环Maven执行?

问题在于,随着分片数量的增加,类似块的数量会增加,这很麻烦,并且会使维护变得烦人(因为根据定义,所有这些数据库在字面上都是相同的)。我希望能够定义数据库名称的“列表”,并让sql-maven-plugin为每个数据库运行一次,而无需多次定义整个数据块。

我不想在测试设置中发生变化,因为我积极地希望在测试环境中设置尽可能多的分片。我只需要一些“maven糖”来方便地定义执行应该“循环”哪些值。

据我所知,maven本身不支持迭代本身,我正在寻找替代方案或如何更好地实现这一点的想法。浮现在我的脑海里的东西是:

  • 使用/写一个管理多个参数执行
  • 扩展SQL-Maven的插件来支持我的使用情况
  • 一个“循环”插件???

有没有人有更好的/更清洁的解决方案?

在此先感谢。

+0

那么Ant脚本呢? – Raman 2012-07-21 14:47:29

+0

正如我在回答khmarbaise的回答时所解释的那样,我并没有真正走入an,,但由于这似乎被广泛接受,我开始认为我应该给这种可能性一些爱。 – h7r 2012-09-26 17:03:03

回答

0

在这种情况下,我会建议使用maven-antrun-plugin来处理这种情况,当然也可以为这种目的实现特定的maven插件。

+0

对我个人而言,使用蚂蚁是最不理想的解决方案。我不能提供一个更好的论据来支持这个比“不纯粹的maven”。最后,我最终编写了一个非常简单的Maven SQL插件分支来支持这一点,并且现在已经在生产几个月了。为了记录,如果这碰巧是任何人都感兴趣的,代码在这里:https://github.com/jkliff/sql-sharded-maven-plugin我非常感谢任何批评/建议,因为这是其实很快就完成了。 – h7r 2012-09-26 17:00:12