在 Liquibase 中添加复合唯一约束

2024-03-06

我正在创建一个包含 3 列的链接表; id、产品_id、锦标赛_id。

向“id”列添加 uniqueConstraint 很简单,但我想确保任何一对 (product_id,tournament_id) 都是唯一的。

Liquibase.org 上的示例显示

<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>

但有可能在一段时间内完成这一任务吗?<createTable> block?

另外,只是为了确认;这会创建一个复合唯一约束在两列上,或者它是否创建两个单独的唯一约束?


你可以阅读liquibasemanual http://www.liquibase.org/documentation/changes/add_unique_constraint.html你也可以找到类似的问题here https://stackoverflow.com/a/39320382

在你的情况下应该是:

<changeSet author="liquibase-docs" id="addUniqueConstraint-example">
<addUniqueConstraint
        columnNames="product_id, tournament_id"
        constraintName="your_constraint_name"
        tableName="person"
        />
</changeSet>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Liquibase 中添加复合唯一约束 的相关文章

随机推荐