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 @@
-
-
-
+
+
+