我正在尝试使用liquibase创建一个表。
在普通的旧SQL中,我会写
CREATE TABLE foo_bar (
foo_bar_id varchar2(40) NOT NULL,
is_foo number(1) NOT NULL,
is_bar number(1) NOT NULL,
CHECK (is_foo IN (0, 1)),
CHECK (is_bar IN (0, 1)),
PRIMARY KEY(foo_bar_id)
);
liquibase XML中的等效(CHECK (is_foo IN (0, 1))
语句)是什么?
答案 0 :(得分:2)
Liquibase目前不直接支持检查约束。您需要运行自定义SQL来执行此操作:
<createTable name="foo_bar">
.... here is the table definition without the check constraint
</createTable>
<sql splitStatements="false">
alter table foo_bar
add constraint check_is_foo CHECK (is_foo IN (0, 1))
</sql>
<sql splitStatements="false">
alter table foo_bar
add constraint check_is_bar CHECK (is_bar IN (0, 1))
</sql>