【发布时间】:2017-12-27 13:02:13
【问题描述】:
我想使用 HSQL 进行集成测试。因此,我想使用与生产中使用的完全相同的脚本来设置测试模式。这是在 postgresql 方言中。在测试脚本中,我尝试设置方言,但似乎不起作用。
至少对于 uuid 数据类型和约束,我得到语法错误异常。例如。我得到一个:
CREATE TABLE testtable ( id bigint NOT NULL, some_uuid uuid NOT NULL, 名称字符不同(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY (id) ) WITH (OIDS=FALSE);嵌套异常是 java.sql.SQLSyntaxErrorException:找不到类型或缺少用户 权限:UUID
对于以下脚本:
SET DATABASE SQL SYNTAX PGS TRUE;
CREATE TABLE testtable
(
id bigint NOT NULL,
some_uuid uuid NOT NULL,
name character varying(32) NOT NULL,
CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
我得到:
类路径资源的 SQL 脚本语句 #2 执行失败 [setupTestData.sql]: CREATE TABLE testtable ( id bigint NOT NULL, name 字符变化(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY(id) ) 与 (OIDS=FALSE);嵌套异常是 java.sql.SQLSyntaxErrorException:意外令牌:(
对于这个脚本:
SET DATABASE SQL SYNTAX PGS TRUE;
CREATE TABLE testtable
(
id bigint NOT NULL,
--some_uuid uuid NOT NULL,
name character varying(32) NOT NULL,
CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
【问题讨论】:
标签: integration-testing hsqldb in-memory-database hypersql