新的飞路版 - sql错误

时间:2015-05-05 11:02:33

标签: oracle ant oracle11g flyway

我有一个现有项目,目前使用flyway-ant 2.2.1版进行迁移。

由于多种原因,我需要使用3.2.1(针对不同行结尾的修复表)。 不幸的是,一旦我尝试使用flyway 3.2.1设置一个空的测试数据库,我从Oracle DB中得到以下错误:

Migration V1_15_1_3__AddCommandParamSDCardLogs.sql failed
---------------------------------------------------------
SQL State  : 42000
Error Code : 911
Message    : ORA-00911: invalid character
Location   : /Volumes/dev/cs/IdeaProjects/grd/db/src/sql/1.15/V1_15_1_3__AddCommandParam.sql
Line       : 1
Statement  : INSERT INTO T_RD_COMMAND (ID, COMMAND_ID, NAME, DISPLAY_ORDER, DISPLAY_NAME, CREATION_TIME, LAST_UPDATE_TIME) VALUES (SEQ_RD_COMMAND_PARAM.NEXTVAL, (SELECT ID FROM T_RD_COMMANDS WHERE COMMAND_NAME = 'GET_LOGS'), 'fromDate', 1, 'From Date', SYSDATE, SYSDATE);
INSERT INTO T_RD_COMMAND (ID, COMMAND_ID, NAME, DISPLAY_ORDER, DISPLAY_NAME, CREATION_TIME, LAST_UPDATE_TIME) VALUES (SEQ_RD_COMMAND_PARAM.NEXTVAL, (SELECT ID FROM T_RD_COMMANDS WHERE COMMAND_NAME = 'GET_LOGS'), 'toDate', 1, 'To Date', SYSDATE, SYSDATE);

知道为什么会这样吗?它可能是飞路上的一个错误吗?使用flyway 2.2.1运行迁移一切都很顺利,与flyway 3.2.1运行完全相同的迁移,oracle报告此错误。

顺便说一下。它是flyway-ant。

Parsed INSERT语句:

INSERT
INTO T_RD_COMMAND
  (
    ID,
    COMMAND_ID,
    NAME,
    DISPLAY_ORDER,
    DISPLAY_NAME,
    CREATION_TIME,
    LAST_UPDATE_TIME
  )
  VALUES
  (
    SEQ_RD_COMMAND_PARAM.NEXTVAL,
    (SELECT ID FROM T_RD_COMMANDS WHERE COMMAND_NAME = 'GET_LOGS'
    ),
    'toDate',
    1,
    'To Date',
    SYSDATE,
    SYSDATE
  );

2 个答案:

答案 0 :(得分:1)

这看起来像是一个解析问题。请提出错误报告,包括问题跟踪器中的声明。

答案 1 :(得分:0)

这似乎是此错误的症状: https://github.com/flyway/flyway/issues/1010