Hi, I'm tyring to use the dbupgrade-maven-plugin plugin to upgrade a MySQL DB. However I seem to be having problems with the delimiter command.
The following SQL: DELIMITER ! DROP PROCEDURE IF EXISTS upgrade_database ! CREATE PROCEDURE upgrade_database() BEGIN IF NOT EXISTS(( select 'true' from `information_schema`.`columns` where `table_name` = 'user' and `column_name` = 'first_name' )) THEN alter table `user` add column `first_name` varchar(20) not null default ''; END IF; IF NOT EXISTS(( select 'true' from `information_schema`.`columns` where `table_name` = 'user' and `column_name` = 'family_name' )) THEN alter table `user` add column `family_name` varchar(20) not null default ''; END IF; IF NOT EXISTS(( select 'true' from `information_schema`.`columns` where `table_name` = 'user' and `column_name` = 'email' )) THEN alter table `user` add column `email` varchar(20) not null default ''; END IF; IF NOT EXISTS(( select 'true' from `information_schema`.`columns` where `table_name` = 'user' and `column_name` = 'dob' )) THEN alter table `user` add column `dob` datetime not null; END IF; END ! CALL upgrade_database() ! DROP PROCEDURE IF EXISTS upgrade_database ! DELIMITER ; ... will perfectly fine if I execute it through MySQL Query Browser. However if I use the same SQL in my dbupgrade script I get this error: [ERROR] Failed to execute goal org.codehaus.mojo:dbupgrade-maven-plugin:1.0-beta-1-SNAPSHOT:filelist-upgrade (dbupgrade) on project ZenTemplate: Unable to perform file upgrade: D:\workspaces\poc\ZenTemplate\src\db\upgrade\01\00000003.sql. Unable to execute: DELIMITER ! [ERROR] DROP PROCEDURE IF EXISTS upgrade_database ! [ERROR] CREATE PROCEDURE upgrade_database() BEGIN [ERROR] [ERROR] [ERROR] IF NOT EXISTS(( [ERROR] select 'true' [ERROR] from `information_schema`.`columns` [ERROR] where `table_name` = 'user' and `column_name` = 'first_name' [ERROR] )) [ERROR] THEN [ERROR] alter table `user` add column `first_name` varchar(20) not null default '' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER ! [ERROR] DROP PROCEDURE IF EXISTS upgrade_database ! [ERROR] CREATE PROCEDURE upgra' at line 1 [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. Any ideas why this might be? Is there a work around I can use? Cheers! Adam