【发布时间】:2018-05-17 13:12:31
【问题描述】:
在将 flyway DB 迁移与 Spring Boot 应用程序集成时,我遇到了非常奇怪的问题。
当我使用命令行从可执行 WAR 运行应用程序时,它会在应用程序启动时创建新数据库。
现在,如果我将应用程序运行模式切换到 IDE(即从 STS 运行),它会再次触发我的 db/migration 文件夹中的所有脚本。每次在这两种运行模式之间切换时,我都可以看到 installed_on 列时间发生变化。我尝试启用baselineOnMigrate 属性,但没有得到任何效果。
你认为它与spring boot嵌入式tomcat有关吗?因为在两次运行时它都会创建单独的嵌入的 tomcat。
请在下面找到我的 spring boot application.properties:
mssql.dbname=issueDB
mssql.password=password
mssql.dbserver=localhost
mssql.port=1501
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://${mssql.dbserver}:${mssql.port};databaseName=${mssql.dbname}
spring.datasource.username=user
spring.datasource.password=${mssql.password}
spring.flyway.baselineOnMigrate=true
spring.flyway.locations=classpath:db/migration/testissue
spring.flyway.out-of-order=true
spring.flyway.baseline-version=1.3
spring.flyway.placeholder-prefix=$
spring.flyway.placeholder-suffix=$
spring.flyway.mixed=true
spring.flyway.cleanOnValidationError=true
【问题讨论】:
标签: spring-boot flyway