当前位置: 首页 > 知识库问答 >
问题:

必须在Liquibase上指定changeLogFile错误

何和惬
2023-03-14

我是Liquibase的新手,我尝试将liquibase与postgres数据库一起使用liquibase脚本创建数据库表。我所做的是,我已经手动创建了Postgres表并通过运行命令

mvn液化酶:generateChangeLog

我创建了liquibase-outputChangeLog.xml文件。现在我尝试更新该脚本并在数据库中创建一个表。为此,我将XML代码写入新表的ChangeLog.xml文件并尝试执行命令

mvn liquibase:更新

但它给了我以下的错误

必须指定ChangeLogFile。

下面是我的POM. xml文件。

    <dependency>
        <groupId>tech.sample</groupId>
        <artifactId>common-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>tech.sample</groupId>
        <artifactId>common-starter-logging</artifactId>
    </dependency>

    <dependency>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-core</artifactId>
        <version>3.8.7</version>
    </dependency>

    <dependency>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-maven-plugin</artifactId>
        <version>3.8.7</version>
    </dependency>

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.2.5</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>
        <!--Sonar Plugins-->
        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>com.github.temyers</groupId>
            <artifactId>cucumber-jvm-parallel-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>3.4.1</version>
            <configuration>
                <propertyFile>src/main/resources/liquibase.properties</propertyFile>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>update</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

谁能帮我一下吗?这里出了什么事。

共有3个答案

祁永嘉
2023-03-14

您应该迁移到liquibase版本4.11.0

并将更改日志文件更改为输出更改日志文件

希望能帮上忙

邓德厚
2023-03-14

对于db更新,必须在pom中指定属性changeLogFile。xml,在plugin liquibase maven plugin部分。请参阅代码段:

        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>${liquibase.version}</version>
            <configuration>                  
                <propertyFile>src/main/resources/db/liquibase.properties</propertyFile>
                <changeLogFile>src/main/resources/db/updateDb.xml</changeLogFile>
            </configuration>
        </plugin> 

在液基上运行4.7.1

这里是完整的MVN日志:

    bmolino@Betelgeuse:~/git/simbo-repo/simbo/simbo-ws(master)$ /opt/apache-maven-3.6.3/bin/mvn liquibase:update
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] ----------------< it.invallee.webapp.simbo-ws:simbo-ws >----------------
    [INFO] Building simbo-ws 0.0.1-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO] 
    [INFO] --- liquibase-maven-plugin:4.7.1:update (default-cli) @ simbo-ws ---
    [INFO] ------------------------------------------------------------------------
    [project, pluginDescriptor]
    [INFO] Parsing Liquibase Properties File
    [INFO]   File: src/main/resources/db/liquibase.properties
    [INFO]   'outputChangeLogFile' in properties file is not being used by this task.
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] 
    [INFO] Liquibase Community 4.7.1 by Liquibase
    [INFO] ####################################################
    ##   _     _             _ _                      ##
    ##  | |   (_)           (_) |                     ##
    ##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
    ##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
    ##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
    ##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
    ##              | |                               ##
    ##              |_|                               ##
    ##                                                ## 
    ##  Get documentation at docs.liquibase.com       ##
    ##  Get certified courses at learn.liquibase.com  ## 
    ##  Free schema change activity reports at        ##
    ##      https://hub.liquibase.com                 ##
    ##                                                ##
    ####################################################
    Starting Liquibase at 16:05:17 (version 4.7.1 #1239 built at 2022-01-20 20:31+0000)
    [INFO] Set default schema name to public
    [INFO] Parsing Liquibase Properties File src/main/resources/db/liquibase.properties for changeLog parameters
    [INFO] Executing on Database: jdbc:postgresql://XX.XXX.XXX.XXX:5432/simbo
    [INFO] Successfully acquired change log lock
    [INFO] Reading from databasechangelog
    Running Changeset: src/main/resources/db/updateDb.xml::1::bob
    [INFO] Table department created
    [INFO] ChangeSet src/main/resources/db/updateDb.xml::1::bob ran successfully in 16ms
    [INFO] Successfully released change log lock
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  2.073 s
    [INFO] Finished at: 2022-01-28T16:05:18+01:00
    [INFO] ------------------------------------------------------------------------
狄凯
2023-03-14

我认为问题是在您的pom.xml中指定的属性文件中

 类似资料:
  • 我是阿帕奇骆驼的新手。我正试图将头和请求体一起发送到Apache Camel中的路由。 我得到以下错误:

  • LiquiBase.Exception.SetupException:文件:/src/main/LiquiBase/changes/000-initial-schema.xml不存在 我的pom.xml插件配置如下: 我的Liquibase.properties文件是: 为什么Liquibase找不到那个文件?即使我将文件名更改为:000-initial-schematest.xml,错误也是:

  • 除了查询之外,两者的提取看起来完全相同: 第一个查询返回:  但第二个查询返回错误: 但我得到了同样的错误

  • 我定义了两个简单的类Reader.java和Decoder.java,并且能够使用以下步骤编译和运行它们。 (1)下载并解压缩JDK和JRE 9.0.4到测试目录 (2)在测试目录内创建以下目录结构。 (7)mkdir mlibs (8)使用以下命令将模块打包到JAR中。 (9)在步骤(8)结束时,我有一个如下所示的mlibs dir

  • 我总是有相同的错误时安装大口: AssertionError[ERR_ASSERTION]:任务函数必须在Gulp.Task(C:\Users\Thomas\Desktop\Sites CT Graphics\colpaertmarc.be\node\u modules\undertaker\lib\set Task.js:10:3)的Gulp.Task(C:\Users\Thomas\Deskt

  • 问题内容: 这段代码适用于第一个XCode 6 Beta,但在最新的Beta中,它不起作用,并显示以下错误 : 这就是此类的初始化方式: 我坚持下去..最简单的解决方法是什么? 问题答案: 是SKSpriteNode类中唯一指定的初始值设定项,其余都是方便的初始值设定项,因此您不能在它们上调用super。将代码更改为此: 此外,我会将所有这些整合到一个初始化器中。