From 374fc8d7023228eebb66d3ff0dc567f7967e1640 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Mon, 7 Dec 2015 09:44:34 +1300 Subject: [PATCH] #480 - @History trigger on @Draftable does not exclude the @DraftOnly and @DraftDirty properties - ERROR: column "dirty" of relation "link_history" does not exist Where: PL/pgSQL function link_history_version() --- .../ddlgeneration/platform/DbTriggerBasedHistoryDdl.java | 2 +- .../java/com/avaje/ebean/dbmigration/model/MColumn.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java b/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java index f892531cd..c452c8d59 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java +++ b/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java @@ -232,7 +232,7 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl { List includedColumns = new ArrayList(columns.size()); for (MColumn column : columns) { - if (!column.isHistoryExclude()) { + if (column.isIncludeInHistory()) { includedColumns.add(column.getName()); } } diff --git a/src/main/java/com/avaje/ebean/dbmigration/model/MColumn.java b/src/main/java/com/avaje/ebean/dbmigration/model/MColumn.java index 25ee8d8fc..2e8c41905 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/model/MColumn.java +++ b/src/main/java/com/avaje/ebean/dbmigration/model/MColumn.java @@ -213,6 +213,13 @@ public class MColumn { return draftOnly; } + /** + * Return true if this column should be included in History DB triggers etc. + */ + public boolean isIncludeInHistory() { + return !draftOnly && !historyExclude; + } + public Column createColumn() { Column c = new Column();