我有一个变更集,其中我最初检查是否存在唯一约束,然后如果它存在,它将删除约束。
<changeSet author="loren"
id="DROP_UNIQUE_CONSTRAINT_RULEPRIORITY_ORACLE_v1" dbms="oracle">
<preConditions onFail="MARK_RAN">
<sqlCheck expectedResult="1">
SELECT COUNT(*)
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_NAME='UC_RULES_PRIORITY'
</sqlCheck>
</preConditions>
<dropUniqueConstraint constraintName="UC_RULES_PRIORITY"
schemaName="${main.schema}"
tableName="RULES"/>
</changeSet>
这个问题似乎没有超越前提条件。它总是说MARK_RAN意味着没有找到约束。反过来,约束永远不会被删除。
我已尝试在我的数据库中执行SELECT语句,它返回1.
这是正确的方法还是有替代解决方案?