1

使用 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>

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

4

0 回答 0