From e841e200d73305bc44dd825a32392759f3bb3e8e Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 4 Jan 2018 16:14:44 +0100 Subject: [PATCH] [#6987] Add DDLFlag.COMMENT to extract COMMENT statements from DSLContext.ddl() --- jOOQ/src/main/java/org/jooq/impl/DDL.java | 38 +++++++++++++++-------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DDL.java b/jOOQ/src/main/java/org/jooq/impl/DDL.java index 5b1c93e4b5..b7733d42fa 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DDL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DDL.java @@ -145,24 +145,32 @@ final class DDL { else queries.addAll(alterTableAddConstraints(table)); - if (flags.contains(COMMENT)) { - String tComment = table.getComment(); - - if (!StringUtils.isEmpty(tComment)) - queries.add(ctx.commentOnTable(table).is(tComment)); - - for (Field field : table.fields()) { - String fComment = field.getComment(); - - if (!StringUtils.isEmpty(fComment)) - queries.add(ctx.commentOnColumn(field).is(fComment)); - } - } + queries.addAll(commentOn(table)); } return ctx.queries(queries); } + private List commentOn(Table table) { + List result = new ArrayList(); + + if (flags.contains(COMMENT)) { + String tComment = table.getComment(); + + if (!StringUtils.isEmpty(tComment)) + result.add(ctx.commentOnTable(table).is(tComment)); + + for (Field field : table.fields()) { + String fComment = field.getComment(); + + if (!StringUtils.isEmpty(fComment)) + result.add(ctx.commentOnColumn(field).is(fComment)); + } + } + + return result; + } + final Queries queries(Schema schema) { List queries = new ArrayList(); @@ -200,6 +208,10 @@ final class DDL { for (Constraint constraint : foreignKeys(table)) queries.add(ctx.alterTable(table).add(constraint)); + if (flags.contains(COMMENT)) + for (Table table : schema.getTables()) + queries.addAll(commentOn(table)); + return ctx.queries(queries); }