我使用liquibase为MySQL表添加了一个唯一约束。在此Liquibase official document page中,有一个名为“disabled”的属性。我google了很多,找不到任何关于它的东西。有人可以帮忙吗?
请注意,文档页面中的示例说明了此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会发生什么?
答案 0 :(得分:1)
我认为使用mySQL时不会发生任何事情,因为它不支持这一点。
DISABLE
似乎仅在使用Oracle数据库时使用。
我通过在liquibase来源的github上找到这个类来确定这一点:AddUniqueConstraintGenerator
签出generateSql
方法。 DISABLE
仅用于Oracle DB。
快速检查Oracles语法......似乎Oracle确实支持这种方式来启用或禁用约束。