【发布时间】:2022-06-10 19:06:05
【问题描述】:
我不明白 Liquibase 和 Spring Boot 的一些内容。
当我使用以下命令运行我的 spring boot 项目时:mvn spring-boot:run
我的 changelog-v1.0.xml 创建一个表并在我的表用户中添加两个用户。所以我的 liquibase 成功链接到我的 mySQL 数据库。但是......我不知道为什么,我不能使用 mvn liquibase 命令而不失败。
例如,我想使用以下方法保存我的数据库:
mvn liquibase:generateChangeLog
但是我的日志失败了:
Failed to execute goal org.liquibase:liquibase-maven-plugin:4.9.0:generateChangeLog (default-cli) on project demo: The database URL has not been specified either as a parameter or in a properties file.
我认为,当我使用命令行时,他不会使用我在 pox.xml 中的配置,但我不知道该怎么做。
# pom.xml
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.9.0</version>
<configuration>
<propertyFileWillOverride>true</propertyFileWillOverride>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<ChangeLogFile>src/main/resources/db/changelog/changelog-master.xml</ChangeLogFile>
<driver>${spring.datasource.driverClassName}</driver>
<url>${spring.datasource.url}</url>
<username>${spring.datasource.username}</username>
<password>${spring.datasource.password}</password>
</configuration>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
</plugin>
我的 pom.xml 设置正确,因为 liquibase 目录中的新更改日志文件创建或更新了我的 mysql 数据库中的数据。
【问题讨论】:
-
你能包含你的 liquibase.properties 文件的内容吗?
标签: spring spring-boot maven liquibase liquibase-sql