2010-01-20 103 views

回答

3

我使用Autobase(它建立在Liquibase之上),因爲它(上次我檢查)允許您在應用程序啓動時自動檢查/應用您的遷移。使用Liquibase插件,我必須在servlet init代碼中自己完成此操作。這使您可以將數據源設置爲dbCreate = none並讓Autobase處理數據庫。

確實意味着你需要在每次屬性添加到域的上課時間寫遷移,但我認爲這是一件好事,因爲它使你想想基礎字段實際上應該是,而不是僅僅讓Hibernate猜測它。

我認爲一些Autobase插件(例如groovy dsl)正在遷移回Liquibase插件,但您需要查看該插件。

Autobase唯一的缺點是缺乏良好的文檔。有一些,但它不完整。幸運的是,dsl與xml Liquibase標籤相同,因此您可以將其大部分工作。

+0

只是隨便看看網頁歐德巴斯 - 它是贊成Liquibase – 2010-10-23 05:43:26

+1

的,我不認爲liquibase必須更新這是一個非常好的功能的DB當你的應用程序啓動的能力棄用。我仍然使用Autobase,直到遷移是Grails核心的一部分(Grails 1.4計劃) – leebutts 2010-10-23 08:33:44

+0

@leebutts - 在撰寫本文時,dbMigrations插件(Liquibase插件的後繼者)_does_支持在應用程序啓動時更新數據庫。 – cdeszaq 2012-04-06 18:59:20

1

我使用liquibase,我不確定Robert是否還在積極維護Autobase,而liquibase提供的xml實際上非常類似DSL。我認爲它也會給你的數據庫命令帶來一點點分離,並且不會讓它融入到啓動過程中(有些人可能更喜歡相反)。

0

我聽說Autobase仍然存在,但考慮到Grails數據庫遷移插件是由核心團隊編寫的,並且可能會成爲官方支持的插件。

換句話說,在選擇上面的插件之前,鼓勵您可以等待Grails 1.4 - >roadmap