2014-04-12 103 views
5

雖然我提出的問題https://github.com/spring-projects/spring-boot/issues/662提供彈簧引導起動liquibase起動器模塊,今天我才發現,已經有某種形式的整合。春季啓動liquibase整合

春季啓動已經包含https://github.com/spring-projects/spring-boot/tree/master/spring-boot/src/main/java/org/springframework/boot/liquibase使用Spring的引導Liquibase特定的服務定位器。 從這段代碼和Spring Boot參考指南我找不出Spring Boot已經提供了什麼。

但是我也發現當添加Gradle依賴「org.liquibase:liquibase-core」(注意沒有版本號)時,它會自動解析liquibase 3.1.1,所以Spring Boot特定的依賴關係解析器在這裏做一些'魔術' 。

任何人都知道什麼樣的整合春季啓動在Liquibase方面提供? 我想在應用程序啓動期間自動執行遷移(如果需要)。

回答

6

春季啓動知道Liquibase並檢測它的類路徑(因此魔術依賴解析)。 Liquibase有一個SPI,用於創建我們以特殊方式實現的服務,因此它們使用Spring Boot支持的可執行JAR格式。因此,簡而言之,如果它在那裏,並且將它添加到上下文中,它將起作用(如簡短地提到in the docs)。但是沒有開箱即用的「自動配置」(如果你想要一個新功能,我們可以使用你的github問題來管理它)。

+0

感謝您的解釋戴夫。目前Spring Boot沒有什麼特別的可以自動運行來運行遷移。讓我們在提到的guthub問題中進一步討論功能請求。 –

+0

我讀過你正在討論(和文檔),但我有一個問題,我已經將liquibase-core設置爲類路徑中的依賴項,我已將資源屬性中的文件的路徑分配給liquibase.change -log變量,但是當我運行我的springboot應用程序時,數據庫內部沒有任何更改,怎麼可能? – mautrok