我想让Liquibase配置我的spring boot aplication,所以我将依赖项添加到pom.xml并在application.properties中设置master.xml的路径 . 这很好用,Spring在启动时运行Liquibase . 问题是现在我想手动运行Liquibase,而不是在应用程序启动时运行 . 我应该完全禁用Liquibase自动配置还是我可以使用它并且只在启动时禁用运行评估?
在application.properties文件中添加 liquibase.enabled=false
liquibase.enabled=false
Reference
但如果您不想再使用liquibase,请从pom中删除liquibase starter .
Spring版本之间的相关属性名称已更改:
对于 Spring 4.x.x : liquibase.enabled=false application属性禁用Liquibase .
对于 Spring 5.x.x : spring.liquibase.enabled=false application属性禁用Liquibase .
spring.liquibase.enabled=false
如果你在LiquibaseProperties上看到,就会有一个前缀
prefix = "spring.liquibase"
所以,我的建议是使用
它通过spring boot 2.0.0.RC1解决了我的问题
我遇到了一个问题,我无法出于某种原因从属性中禁用Liquibase,所以这就是我用 @Bean 注释禁用Liquibase的方法:
@Bean
@Bean public SpringLiquibase liquibase() { SpringLiquibase liquibase = new SpringLiquibase(); liquibase.setShouldRun(false); return liquibase; }
如果要手动运行Liquibase,可以使用liquibase maven插件 . 只需将这样的内容添加到您的pom.xml:
<plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>${liquibase.version}</version> <configuration> <changeLogFile>src/main/liquibase/master.xml</changeLogFile> <propertyFile>src/main/liquibase/liquibase.properties</propertyFile> <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase> </configuration> </plugin>
您可以查看plugin documentation了解配置详细信息 .
并且不要使用Spring Boot的liquibase支持,因为它仅用于运行时 . 只需删除liquibase启动器和/或任何相关的依赖项,因为您只需要maven插件 .
5 回答
在application.properties文件中添加
liquibase.enabled=false
Reference
但如果您不想再使用liquibase,请从pom中删除liquibase starter .
Spring版本之间的相关属性名称已更改:
对于 Spring 4.x.x :
liquibase.enabled=false
application属性禁用Liquibase .对于 Spring 5.x.x :
spring.liquibase.enabled=false
application属性禁用Liquibase .如果你在LiquibaseProperties上看到,就会有一个前缀
所以,我的建议是使用
它通过spring boot 2.0.0.RC1解决了我的问题
我遇到了一个问题,我无法出于某种原因从属性中禁用Liquibase,所以这就是我用
@Bean
注释禁用Liquibase的方法:如果要手动运行Liquibase,可以使用liquibase maven插件 . 只需将这样的内容添加到您的pom.xml:
您可以查看plugin documentation了解配置详细信息 .
并且不要使用Spring Boot的liquibase支持,因为它仅用于运行时 . 只需删除liquibase启动器和/或任何相关的依赖项,因为您只需要maven插件 .