From d2f532ad3c97abc437a35ab496d9d23b8d930485 Mon Sep 17 00:00:00 2001 From: Richard Vowles Date: Fri, 3 May 2013 20:06:18 +1200 Subject: [PATCH] prevent Ebean from issuing duplicate SQL when generating the database so it doesnt fail. A problem for classes with the same generator --- .../ebeaninternal/server/ddl/DdlGenerator.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/avaje/ebeaninternal/server/ddl/DdlGenerator.java b/src/main/java/com/avaje/ebeaninternal/server/ddl/DdlGenerator.java index e935872c4..c536a725b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/ddl/DdlGenerator.java +++ b/src/main/java/com/avaje/ebeaninternal/server/ddl/DdlGenerator.java @@ -234,10 +234,17 @@ public class DdlGenerator implements SpiEbeanPlugin { * Execute the list of statements. */ private void runStatements(boolean expectErrors, List statements, Connection c) { + List noDuplicates = new ArrayList(); - for (int i = 0; i < statements.size(); i++) { - String xOfy = (i + 1) + " of " + statements.size(); - runStatement(expectErrors, xOfy, statements.get(i), c); + for (String statement : statements) { + if (!noDuplicates.contains(statement)) { + noDuplicates.add(statement); + } + } + + for (int i = 0; i < noDuplicates.size(); i++) { + String xOfy = (i + 1) + " of " + noDuplicates.size(); + runStatement(expectErrors, xOfy, noDuplicates.get(i), c); } }