2012-07-20 156 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