【问题标题】:mvn liquibase:generateChangeLog not working with an URL problemmvn liquibase:generateChangeLog 不适用于 URL 问题
【发布时间】: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


【解决方案1】:

mvn liquibase:generateChangeLog不依赖spring,所以不会去读取spring文件。您可以创建一个 liquibase.properties 文件并引用它。 我更改了 pom 以引用属性文件 https://docs.liquibase.com/tools-integrations/maven/maven-pom-file.html 然后将 changeLogFile 配置更改为使用 outputChangeLogFile,如下所示:

<outputChangeLogFile>src/main/resources/db/changelog/changelog-master.xml</outputChangeLogFile>

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 2019-12-03
    • 2011-10-12
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多