From 06b5ebc14e4547ef892fbacf8089bf6fc2dcf961 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Fri, 18 Sep 2015 22:19:52 +1200 Subject: [PATCH] #419 - Support running History DDL scripts in full drop and create ddl execution - detect $$ procedures/triggers in ddl script --- .../com/avaje/ebean/dbmigration/DdlGenerator.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/avaje/ebean/dbmigration/DdlGenerator.java b/src/main/java/com/avaje/ebean/dbmigration/DdlGenerator.java index e6f3cd4ba..52de4f34d 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/DdlGenerator.java +++ b/src/main/java/com/avaje/ebean/dbmigration/DdlGenerator.java @@ -273,15 +273,24 @@ public class DdlGenerator implements SpiEbeanPlugin { ArrayList statements = new ArrayList(); - boolean inDbProcedure = false; + boolean trimDelimiter; + + boolean inDbProcedure; StringBuilder sb = new StringBuilder(); void lineContainsDollars(String line) { if (inDbProcedure) { + if (trimDelimiter) { + line = line.replace("$$",""); + } endOfStatement(line); } else { - sb.append(line).append(" "); + // MySql style delimiter needs to be trimmed/removed + trimDelimiter = line.equals("delimiter $$"); + if (!trimDelimiter) { + sb.append(line).append(" "); + } } inDbProcedure = !inDbProcedure; }