Preconditions列存在

时间:2015-08-04 13:49:06

标签: oracle oracle11g liquibase preconditions

使用liquibase 3.4.1我想将Oracle中的列重命名为大写(如果存在)。 无论我做什么,我总是得到以下错误:

Unexpected error running Liquibase: ORA-00957: duplicate column name
 [Failed SQL: ALTER TABLE "SYSTEM"."MYTABLE" RENAME COLUMN "id" TO "ID"]

我的前提条件如下:

    <changeSet author="sake" id="gfdgfd" dbms="oracle" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
            <preConditions onFail="MARK_RAN" >          
                      <columnExists tableName="MYTABLE" columnName="id" />
            </preConditions>
            <renameColumn tableName="MYTABLE" oldColumnName="id" newColumnName="ID"/>
</changeSet>

我试过以下: - 删除objectQuotingStrategy - 添加SQL检查:

<sqlCheck expectedResult="1">
                SELECT COUNT(*) FROM USER_TAB_COLUMNS
                WHERE TABLE_NAME='MYTABLE'
                AND COLUMN_NAME='id'
            </sqlCheck>

知道为什么会这样吗? :/

0 个答案:

没有答案