我正在使用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 确实支持此功能作为启用或禁用约束的一种方式。