Spring boot 执行liquibase:当属性位于Spring引导文件(application.properties)中而不是liquibase.properties中时,从命令行回滚

Spring boot 执行liquibase:当属性位于Spring引导文件(application.properties)中而不是liquibase.properties中时,从命令行回滚,spring-boot,maven,liquibase,Spring Boot,Maven,Liquibase,我将Spring boot与Liquibase一起使用,我的数据库配置在application.properties文件中设置 在maven插件liquibase core和liquibase maven插件的帮助下,一切都运行良好,我的数据库结构在项目生命周期内顺利更新 但是,我最近在开发环境中犯了一个错误,我必须使用命令行执行回滚。删除我刚刚创建的变更集 我输入bash shell并执行: mvn liquibase:rollback-Dliquibase.rollbackCount=1 但

我将Spring boot与Liquibase一起使用,我的数据库配置在application.properties文件中设置

在maven插件liquibase core和liquibase maven插件的帮助下,一切都运行良好,我的数据库结构在项目生命周期内顺利更新

但是,我最近在开发环境中犯了一个错误,我必须使用命令行执行回滚。删除我刚刚创建的变更集

我输入bash shell并执行:

mvn liquibase:rollback-Dliquibase.rollbackCount=1 但是失败的消息是:数据库URL既没有作为参数指定,也没有在属性文件中指定

我可以设定一个:

<propertyFile>${project.build.directory}/classes/liquibase.properties</propertyFile>
有没有办法通过spring引导:运行命令来发出回滚


它将允许spring boot发送到Liquibase,以便对它已经知道并使用得很好的配置进行液化。

springs application.properties和liquidate.properties中的属性名称不兼容。 你有三个选择

只需创建一个包含内容的单独liquibase.properties文件 你需要-你只需要解决你的问题 当前设置 通过命令行参数提供数据库参数

mvn liquibase:rollback -Dliquibase.rollbackCount=1    -Dliquibase.url=jdbc:postgresql://localhost:5432/comptesfrance -Dliquibase.username
有关所有参数,请参见

如果需要永久解决方案,则可以将liquibase属性添加到application.properties中,并在同一文件中重用它们。i、 e

liquibase.url=jdbc:postgresql://localhost:5432/comptesfrance
spring.datasource.url=${liquibase.url}
我还没测试过

mvn liquibase:rollback -Dliquibase.rollbackCount=1    -Dliquibase.url=jdbc:postgresql://localhost:5432/comptesfrance -Dliquibase.username
liquibase.url=jdbc:postgresql://localhost:5432/comptesfrance
spring.datasource.url=${liquibase.url}