使用 Liquibase 将列添加到表中

Mal*_*wan 2 jpa liquibase spring-data-jpa spring-boot liquibase-hibernate

我是后端开发新手,目前正在尝试向我的 app_user 表添加一列。像下面这样。

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

它给出了这个错误

Caused by: org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
Run Code Online (Sandbox Code Playgroud)

在“reader”中,第 23 行,第 22 列:列:^

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

小智 5

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

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

例子应该是

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

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