addUniqueConstraint 的 "disabled" 属性在 Liquibase 中是什么意思?



我正在使用liquibase向MySQL表添加唯一约束。在此Liquibase官方文档页面中,有一个名为"disabled"的属性。我用谷歌搜索了很多,找不到任何关于它的信息。谁能帮忙?

请注意,文档页面中的示例说此 liquibase 脚本

<changeSet author="liquibase-docs" id="addUniqueConstraint-example">
<addUniqueConstraint catalogName="cat"
        columnNames="id, name"
        constraintName="const_name"
        deferrable="true"
        disabled="true"
        initiallyDeferred="true"
        schemaName="public"
        tableName="person"
        tablespace="A String"/>
</changeSet>

将为 MySQL 生成此 sql

ALTER TABLE cat.person ADD CONSTRAINT const_name UNIQUE (id,
name);

所以我想知道如果我将脚本中的"禁用"更改为 false 会发生什么?

我认为当你使用mySQL时不会发生任何事情,因为它不支持这个。

DISABLE似乎只在使用 Oracle 数据库时使用。

我通过在 liquibase 源代码中的 github 上找到这个类来确定这一点:AddUniqueConstraintGenerator

查看generateSql方法。DISABLE仅用于 Oracle 数据库。

并快速检查预言机语法...似乎 Oracle 确实支持此功能作为启用或禁用约束的一种方式。

相关内容

  • 没有找到相关文章

最新更新