Reputation: 99
I am new to Liquibase and I am currently trying to migrate our existing Sql scripts to Liquibase sql changesheet.
While trying to execute the following insert statement via Liquibase:
-- liquibase formatted sql
-- changeset authentic:DATA-CORE-NEW-1 splitStatements:false
INSERT INTO TABLE_A (COL_1,COL_2,COL_3,COL_4,COL_5,COL_6) VALUES (789,67,1,'Backslash','\',CURRENT_TIMESTAMP);
--rollback DELETE FROM TABLE_A
I am getting the following errors:
Unexpected error running Liquibase: Migration failed for change set
install/DATA/CORE/new_DATA.sql::DATA-CORE-NEW-1::axx2323:
Reason: liquibase.exception.DatabaseException: ORA-00933: SQL command not properly ended
[Failed SQL: (933) INSERT INTO TABLE_A (COL_1,COL_2,COL_3,COL_4,COL_5,COL_6) VALUES (789,67,1,'Backslash','\',CURRENT_TIMESTAMP);]
For more information, please use the --logLevel flag
I am suspecting that the issue is with the '\' (backslash) character. I tried changing the '\' to '\\' but it didn't worked and I am getting the same error.
My Liquibase version is : version 4.2.2 #36
Note: I don't want to change the format of the changesheet as I have too many of them and changing the format will take too much time.
Can anyone please help me in resolving this issue.
Upvotes: 0
Views: 1661
Reputation: 11
You should either remove
;
after SQL command or
-- liquibase formatted sql
-- changeset authentic:DATA-CORE-NEW-1 splitStatements:false
INSERT INTO TABLE_A (COL_1,COL_2,COL_3,COL_4,COL_5,COL_6) VALUES (789,67,1,'Backslash','\',CURRENT_TIMESTAMP)
--rollback DELETE FROM TABLE_A
splitStatements:false
-- liquibase formatted sql
-- changeset authentic:DATA-CORE-NEW-1
INSERT INTO TABLE_A (COL_1,COL_2,COL_3,COL_4,COL_5,COL_6) VALUES (789,67,1,'Backslash','\',CURRENT_TIMESTAMP);
--rollback DELETE FROM TABLE_A
Upvotes: 1