2010-07-12 156 views
0

我正在使用Hibernate進行數據庫訪問。我已經設置好了一切工作,以便我可以使用mvn hibernate3:hbm2ddl來構建數據庫模式,並且我使用mvn liquibase:update來將初始數據填充到數據庫中(DBUnit是我的第一次嘗試,但是我不能'不要讓它與甲骨文合作,而Liquibase只是第一次工作)。Maven執行順序執行幾個插件

我的問題是,如果我執行hbm2ddl來刪除並重新創建模式,那麼Liquibase DATABASECHANGELOG表保留不變,這意味着Liquibase在下次運行時不會重新創建數據。爲了解決這個問題,我配置了mvn sql:execute來對這兩個表執行刪除操作,但這意味着爲了安全起見,我想從頭開始構建數據庫,現在我需要執行「mvn hibernate3:hbm2ddl sql:執行liquibase:update「

我真的很希望能夠配置一些當hibernate3:hbm2ddl命令運行時執行sql:execute命令的東西,以便我知道這樣做命令會讓我處於一個乾淨的數據庫狀態。如果沒有這種配置,將自動運行一系列命令,所以我可以配置例如「mvn execute:db-rebuild」來自動運行上述三個命令。

我已經看過mojo-executor的提及,但沒有提到如何使用它。我甚至不確定它是否是我想要的正確工具...

回答

0

爲什麼不把這些不同的東西綁定到像集成測試階段這樣的特定事物。插件的順序將定義執行的順序。比你擺脫手呼mvn ...

+0

因爲我只想這些工作不經常,而不是在每個構建... – Graham 2010-07-12 17:37:22

+0

好吧 - 我已經讀了集成測試現在我已經一臺真正的電腦,它看起來像它會做我想要的。 – Graham 2010-07-13 08:21:07