【发布时间】:2017-06-02 15:09:45
【问题描述】:
我想在 liquibase(版本 3.3.5,数据库 -Oracle 12C)的 CREATE Table 脚本中将检查约束添加到存储 JSON 数据的 BLOB 类型列。但它不编译。谁能解释一下添加约束的正确语法是什么,以确保只插入 JSON 类型的数据。我跟着这个问题
普通sql:CONSTRAINT ensure_json CHECK (po_document IS JSON))
但不确定什么是 liquibase 等价物。
PostgreSQL Check Constraint in Liquibase
<changeSet id="Change_id" author="xqz">
<createTable tableName="table_name">
<column name="pkey" type="int">
<constraints primaryKey="true"/>
</column>
<column name="table2_pkey" type="int">
<constraints nullable="false"/>
</column>
<column name="name" type="varchar(100)">
<constraints nullable="false"/>
</column>
<column name="filters" type="BLOB">
<constraints checkConstraint="ensure_json CHECK (filters IS JSON)" />
</column>
</createTable>
</changeSet>
如果我向过滤器列添加约束,则构建失败,如果我删除它,则构建成功。我究竟做错了什么。我在 liquibase 文档中找不到它的语法。
【问题讨论】: