createIndex throw错误原因:liquibase.exception.DatabaseException:org.postgresql.util.PSQLException:错误:语法错误在“。”附近。

时间:2015-07-26 18:39:06

标签: liquibase

Liquibase投掷:

Reason: liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "."

它生成的sql包含前缀索引名称的模式。 Postgres不允许这样做。

        - createIndex:
            tableName: product_assets
            indexName: idx_product_assets_style_id
            columns:
              - column:
                  name: style_id

违规SQL:

public.idx_product_assets_style_id

在Windows或Ubuntu上使用jre7或8,PG 9.3或9.4 Liquibase版本3.3.5会发生这种情况。

有趣的是其他队友没有看到这一点。

有什么地方可以防止这种情况吗?

1 个答案:

答案 0 :(得分:1)

由于您未在changeSet中指定schemaName,因此必须在您的环境中启用一个自动包含架构名称的设置,例如defaultSchemaName。

我确实创建了https://liquibase.jira.com/browse/CORE-2460,这将解决Liquibase 3.4.1中的问题