我有一個現有的項目,目前使用flyway-ant,版本2.2.1進行遷移。新flyway版本 - sql錯誤
由於幾個原因,我需要使用3.2.1(修復不同的行結束表)。 不幸的是,一旦我嘗試建立一個空的測試數據庫與遷徙路線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報告此錯誤。
Btw。它是飛螞蟻。
解析的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
);
INSERT語句中看起來好像沒什麼問題。你能對數據庫執行這個查詢嗎? 'SELECT ID FROM T_RD_COMMANDS WHERE COMMAND_NAME ='GET_LOGS''並將結果附加到您的問題中? – mmmmmpie
曾經爲此記錄過的錯誤?我也遇到過它。我的假設,基於我的腳本中容易遇到的線條,是它在字符串中從日期/日期窒息。 – Kyle
發現一個看起來是有問題的錯誤,在答案中指出。 – Kyle