java - 在 MYSQL 中使用 liquibase 删除外键(如果存在)

标签 java mysql spring-boot liquibase

我想问一下,有没有办法只在外键约束存在时才删除?我当前的变更集如下所示:

 <changeSet author="blabla" id="10_1_1">

    <comment>Drop FK DummyFK1</comment>

    <dropForeignKeyConstraint constraintName="DummyFK1" baseTableName="DummyToken" />

</changeSet>

谢谢!

最佳答案

您需要添加preConditionsliquibase 中有 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>

关于java - 在 MYSQL 中使用 liquibase 删除外键(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50095747/

相关文章:

php - Symfony 将 native sql 转换为查询生成器

spring - 使用 Spring boot 在单个浏览器 session 中使用多个 OAuth2 客户端

java - 将 OAuth 与 Scribe-Java 和 Google Apps 结合使用

mysql - 有没有办法在 JOIN 部分的 SELECT FROM (查询)语法中重用子查询?

php - 从 mysql 检索到的 json 字符串上的 json_decode 不起作用

java - Gradle基于环境属性构建War文件

spring - Autowired 无法与 Azure 功能一起使用

java - 在android中以编程方式相当于layout_constraintRight_toLeftOf的是什么?

java - 如何从 ArrayAdapter 中删除没有该对象引用但有另一个一致对象的对象?

java - 在 Java EE 中使用过滤器进行授权