使用liquibase在postgres中删除索引的问题

时间:2016-02-24 13:09:46

标签: postgresql liquibase

我在liquibase中遇到一个问题,我无法在postgres db中删除索引。 liquibase报告的错误是

mmddyyyy

我已经使用psql连接到数据库并验证了索引确实存在(如果在没有drop index节的情况下运行changeset)

Unexpected error running Liquibase: ERROR: index "value_idx" does not exist [Failed SQL: DROP INDEX VALUE_IDX]

运行Liquibase updateSQL时,它生成的\d data Table "someschema.data" Column | Type | Modifiers --------+-----------------------+----------- value | character varying(36) | not null Indexes: "value_idx" UNIQUE, btree (value) 语句为:

DROP INDEX

我的更改日志如下:

DROP INDEX VALUE_IDX;

我也尝试了以下dropindex节:

<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <preConditions>
        <dbms type="postgresql"/>
    </preConditions>

    <changeSet author="beresfordt" id="1">

        <sql>
            CREATE SCHEMA SomeSchema;
        </sql>

        <createTable tableName="data" schemaName="someschema">
            <column name="value" type="varchar(36)">
                <constraints nullable="false"/>
            </column>
        </createTable>

        <createIndex indexName="VALUE_IDX" schemaName="someschema"
                     tableName="data" unique="true">
            <column name="value" type="varchar(36)"/>
        </createIndex>

        <dropIndex catalogName="someschema"
                schemaName="someschema"
                tableName="data"
                indexName="VALUE_IDX"/>
    </changeSet>
</databaseChangeLog>

但是我得到了类似的错误:

        <dropIndex catalogName="someschema"
                schemaName="someschema"
                tableName="data"
                indexName="someschema.VALUE_IDX"/>

我正在使用Liquibase:3.4.2和Postgres:9.5.1

编辑:

尝试使用3.3.0并且有效。

在liquibase的jira中引发了Bug:https://liquibase.jira.com/browse/CORE-2677

1 个答案:

答案 0 :(得分:0)

这是由于在撰写Liquibase的3.4.1和3.4.2时存在的错误造成的。

这已在Liquibase jira上提出:https://liquibase.jira.com/browse/CORE-2677

编辑:

这似乎已经解决了当前的问题:'03b020ab895eb02c0e0aba90461cb7c628fa033f'

编辑2:

从Liquibase更新:

  

修复应该是3.5