由于在列中使用数组更像是一种NoSQL而不是RDBMS存储列表的方式,我知道Liquibase并不正式支持这种类型。但是,当我使用文档中的PSQL语句时,我得到以下内容:
<column name="widgets" type="varchar(8)[]" />
跟踪输出:liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "("
...
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "("
从PSQL命令行运行时,相同的DDL按预期工作。
这一定是PSQL解析器中的某种错误。只要加一个空格就可以了。
<column name="widgets" type="varchar(8) []" />
Liquibase必须在一些主要的方式改变SQL字符串