如果在 MYSQL 中使用 liquibase,则删除外键
Posted
技术标签:
【中文标题】如果在 MYSQL 中使用 liquibase,则删除外键【英文标题】:Drop foreign key if exists using liquibase in MYSQL 【发布时间】:2018-10-10 06:25:18 【问题描述】:我想问一下,有没有办法只在外键约束存在时才删除它?我当前的变更集如下所示:
<changeSet author="blabla" id="10_1_1">
<comment>Drop FK DummyFK1</comment>
<dropForeignKeyConstraint constraintName="DummyFK1" baseTableName="DummyToken" />
</changeSet>
谢谢!
【问题讨论】:
【参考方案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>
【讨论】:
以上是关于如果在 MYSQL 中使用 liquibase,则删除外键的主要内容,如果未能解决你的问题,请参考以下文章
Liquibase:MySQL 存储过程中的 SQL 语法错误