gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 00:06:46 25 4
gpt4 key购买 nike

我正在使用 liquibase 向 MySQL 表添加唯一约束。在这个Liquibase official document page ,有一个名为“禁用”的属性。我在谷歌上搜索了很多,但找不到任何相关信息。谁能帮忙?

请注意,文档页面中的示例表示此 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 数据库时使用。

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

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

并快速检查 Oracle 语法...似乎 Oracle 确实支持将此作为启用或禁用约束的方法。

关于mysql - addUniqueConstraint 的 "disabled"属性在 Liquibase 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com