2012-06-29 48 views
1

我们使用Ant在我们的测试环境中创建一个数据库具有以下任务蚂蚁,执行-SQL脚本和错误的PostgreSQL

<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 

任何提示?

回答

3

如果不存在

附带9.1版本。你使用什么版本?

+0

好的,谢谢,驱动程序是9.1但数据库不是(持续集成系统有一个旧的DB)。 – Matteo