【问题标题】:Drop foreign key if exists using liquibase in MYSQL如果在 MYSQL 中使用 liquibase,则删除外键
【发布时间】:2018-10-10 06:25:18
【问题描述】:
我想问一下,有没有办法只在外键约束存在时才删除它?我当前的变更集如下所示:
<changeSet author="blabla" id="10_1_1">
<comment>Drop FK DummyFK1</comment>
<dropForeignKeyConstraint constraintName="DummyFK1" baseTableName="DummyToken" />
</changeSet>
谢谢!
【问题讨论】:
标签:
java
mysql
spring-boot
liquibase
【解决方案1】:
您需要添加preConditions。 liquibase 中有 foreignKeyConstraintExists 内置前置条件。
<changeSet id="changeSetId" author="John Doe">
<preConditions onFail="MARK_RAN">
<foreignKeyConstraintExists foreignKeyName="DummyFK1"/>
</preConditions>
<comment>Drop FK DummyFK1</comment>
<dropForeignKeyConstraint baseTableName="DummyToken" constraintName="DummyFK1"/>
</changeSet>