【问题标题】:Add column to table with Liquibase使用 Liquibase 将列添加到表中
【发布时间】:2020-09-18 06:55:07
【问题描述】:

我是后端开发的新手,目前正在尝试向我的 app_user 表中添加一列。如下所示。

- changeSet:
      id: 300520202335
      author: Malindu De Alwis
      changes:
        - addColumn:
            tableName: app_user
              columns:
              -column:
                name: address
                type: VARCHAR(255)

它给出了这个错误

Caused by: org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here

在“阅读器”第 23 行第 22 列中: 列: ^

我使用 Spring boot 和 postgre sql。请尝试找出问题

【问题讨论】:

    标签: spring-boot jpa spring-data-jpa liquibase liquibase-hibernate


    【解决方案1】:

    我遇到了同样的问题,我发现 liquibase.com 上给出的示例代码有 2 个问题:

    • “columns”应该与“tableName”的缩进相同
    • 别人提到的“-”和“列”之间的空格

    例子应该是

    changeSet:
      id: addColumn-example
      author: liquibase-docs
      changes:
        - addColumn:
            tableName: person
            columns:
                - column:
                    name: middlename
                    type: varchar(50)
    

    官方示例无法编译,有点令人失望。

    【讨论】:

      【解决方案2】:

      如果您查看示例 yaml 测试更改日志,例如此处包含的示例:https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/test/resources/liquibase/parser/core/yaml/testCasesChangeLog.yaml - 您将能够以 yaml 格式复制 addColumn 更改类型,该更改类型有效。例如:

          - changeSet:
              id: using after column attribute
              author: cmouttet
              changes:
                  - addColumn:
                      columns:
                          - column:
                              afterColumn: firstname
                              name: middlename
                              type: varchar(50)
                      tableName: person 
      

      我相信@tobhai 是正确的——- column 中缺少空格。

      【讨论】:

        【解决方案3】:

        我认为错误是由于-column 之间缺少空格造成的。你试过- column吗?

        【讨论】:

          猜你喜欢
          • 2022-06-15
          • 2021-10-05
          • 2022-11-11
          • 2020-12-15
          • 1970-01-01
          • 2011-06-12
          • 1970-01-01
          • 1970-01-01
          • 2014-05-14
          相关资源
          最近更新 更多