首页 > 解决方案 > addUniqueConstraint 与 liquibase 中的 where 子句

问题描述

我想转换这个 sql 查询

CREATE UNIQUE INDEX UNQ_ALERT_NAME
            ON alert_configuration(name, account_id)
            WHERE
            (status != 'Deleted')

像下面给出的 liquibase 变更集

    <changeSet author="kusum" id="alertconfig-unique-index-4.1.0"">
<addUniqueConstraint
        columnNames="name, account_id, tournament_id"
        constraintName="UNQ_ALERT_NAME"
        tableName="alert_configuration"
        />
</changeSet>

不确定可以在哪里为 addUniqueConstraint 添加这个“where 子句”?任何帮助表示赞赏。

标签: sqlwhere-clauseliquibase

解决方案


对此没有 liquibase 语法,因此您必须使用 SQL 标记:

<changeSet author="kusum" id="alertconfig-unique-index-4.1.0"">
    <SQL> CREATE UNIQUE INDEX UNQ_ALERT_NAME
            ON alert_configuration(name, account_id)
            WHERE
            (status != 'Deleted') </SQL>
</changeSet>

推荐阅读