虽然我提出了问题 https://github.com/spring-projects/spring-boot/issues/662提供一个 spring-boot-starter-liquibase-starter 模块,今天我发现已经有某种集成。
Spring Boot 已经包含 https://github.com/spring-projects/spring-boot/tree/master/spring-boot/src/main/java/org/springframework/boot/liquibase使用 Spring Boot Liquibase 特定的服务定位器。
从这段代码和 Spring Boot 引用指南中,我无法弄清楚 Spring Boot 已经提供了什么。
但是我还发现,当添加 Gradle 依赖项“org.liquibase:liquibase-core”(注意没有版本号)时,它会自动解析 liquibase 3.1.1,因此 Spring Boot 特定的依赖项解析器在这里做了一些“魔术”。
任何人都知道 Spring Boot 在 Liquibase 方面提供了什么样的集成?
我想在应用程序启动期间自动执行迁移(如果需要)。
最佳答案
Spring Boot 知道 Liquibase 并在类路径中检测到它(因此魔术依赖解析)。 Liquibase 有一个 SPI 用于创建我们以特殊方式实现的服务,因此它们可以使用 Spring Boot 支持的可执行 JAR 格式。因此,简而言之,如果它存在并且您将其添加到您的上下文中,它将起作用(如简要提到的 in the docs )。但是没有开箱即用的“自动配置”(如果您想要一个新功能,我们可以使用您的 github 问题来管理它)。
关于Spring-boot liquibase 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033964/