我们使用 Ant 在我们的测试环境中创建一个数据库,任务如下
<execute-sql-script
driver=org.postgresql.Driver
url=jdbc:postgresql://127.0.0.1:5432/lakshmi_testapp?searchpath=lakshmi_stdcmp
user=lakshmi_stdcmp
password=********
classpathid=execute-sql.classpath
sqlfile=/var/lib/jenkins/jobs/Lakshmi-Testapp-PostgreSQL/workspace/target/lakshmi-std-cmp-opu.sql
/>
示例文件:
create table PersistentOrder (
dbId int8 not null,
orderActionsBinary oid,
orderActionsText text,
orderIssuerId varchar(255),
orderIssuerName varchar(255),
orderType varchar(255),
returnType int4,
uuid varchar(255),
primary key (dbId)
);
create table REVINFO (
REV int4 not null,
REVTSTMP int8,
primary key (REV)
);
如果我尝试使用 psql 或 pgAdmin 执行文件,我没有错误,但是当通过 Ant 执行时,我得到:
[sql] Executing resource: /var/lib/jenkins/jobs/Lakshmi-Testapp-PostgreSQL/workspace/target/lakshmi-std-cmp-opu.sql
[sql] Failed to execute: create table if not exists PersistentOrder ( dbId int8 not null, orderActionsBinary oid, orderActionsText text, orderIssuerId varchar(255), orderIssuerName varchar(255), orderType varchar(255), returnType int4, uuid varchar(255), primary key (dbId) )
[sql] org.postgresql.util.PSQLException: ERROR: syntax error at or near "not"
[sql] Position: 19
[sql] Failed to execute: create table if not exists REVINFO ( REV int4 not null, REVTSTMP int8, primary key (REV) )
[sql] org.postgresql.util.PSQLException: ERROR: syntax error at or near "not"
[sql] Position: 19
[sql] Failed to execute: drop sequence if exists hibernate_sequence
[sql] org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
[sql] Failed to execute: create sequence hibernate_sequence;
[sql] org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
[sql] 0 of 4 SQL statements executed successfully
有什么提示吗?