diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java index 0f170d7453..ad6d16ed39 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java @@ -1281,12 +1281,20 @@ protected TriggerHistory rebuildTriggerIfNecessary(StringBuilder sqlBuffer, TriggerHistory newTriggerHist = new TriggerHistory(table, trigger, reason); int maxTriggerNameLength = symmetricDialect.getMaxTriggerNameLength(); - newTriggerHist.setNameForInsertTrigger(getTriggerName(DataEventType.INSERT, - maxTriggerNameLength, trigger, table).toUpperCase()); - newTriggerHist.setNameForUpdateTrigger(getTriggerName(DataEventType.UPDATE, - maxTriggerNameLength, trigger, table).toUpperCase()); - newTriggerHist.setNameForDeleteTrigger(getTriggerName(DataEventType.DELETE, - maxTriggerNameLength, trigger, table).toUpperCase()); + if (trigger.isSyncOnInsert()) { + newTriggerHist.setNameForInsertTrigger(getTriggerName(DataEventType.INSERT, + maxTriggerNameLength, trigger, table).toUpperCase()); + } + + if (trigger.isSyncOnUpdate()) { + newTriggerHist.setNameForUpdateTrigger(getTriggerName(DataEventType.UPDATE, + maxTriggerNameLength, trigger, table).toUpperCase()); + } + + if (trigger.isSyncOnDelete()) { + newTriggerHist.setNameForDeleteTrigger(getTriggerName(DataEventType.DELETE, + maxTriggerNameLength, trigger, table).toUpperCase()); + } String oldTriggerName = null; String oldSourceSchema = null; @@ -1303,8 +1311,10 @@ protected TriggerHistory rebuildTriggerIfNecessary(StringBuilder sqlBuffer, oldTriggerName = newTriggerHist.getTriggerNameForDmlType(dmlType); oldSourceSchema = trigger.getSourceSchemaName(); oldCatalogName = trigger.getSourceCatalogName(); - triggerExists = symmetricDialect.doesTriggerExist(oldCatalogName, oldSourceSchema, - trigger.getSourceTableName(), oldTriggerName); + if (StringUtils.isNotBlank(oldTriggerName)) { + triggerExists = symmetricDialect.doesTriggerExist(oldCatalogName, oldSourceSchema, + trigger.getSourceTableName(), oldTriggerName); + } } if (!triggerExists && forceRebuild) { diff --git a/symmetric-core/src/main/resources/symmetric-schema.xml b/symmetric-core/src/main/resources/symmetric-schema.xml index 1a934b5e23..75322ad266 100644 --- a/symmetric-core/src/main/resources/symmetric-schema.xml +++ b/symmetric-core/src/main/resources/symmetric-schema.xml @@ -329,9 +329,9 @@ - - - + + +