diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/extract/ColumnsAccordingToTriggerHistory.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/extract/ColumnsAccordingToTriggerHistory.java index 208b919c7d..ea9186d372 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/extract/ColumnsAccordingToTriggerHistory.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/extract/ColumnsAccordingToTriggerHistory.java @@ -32,6 +32,7 @@ import org.jumpmind.symmetric.db.ISymmetricDialect; import org.jumpmind.symmetric.model.Node; import org.jumpmind.symmetric.model.Router; +import org.jumpmind.symmetric.model.Trigger; import org.jumpmind.symmetric.model.TriggerHistory; import org.jumpmind.symmetric.service.ITriggerRouterService; import org.jumpmind.symmetric.util.SymmetricUtils; @@ -106,10 +107,12 @@ protected Table lookupAndOrderColumnsAccordingToTriggerHistory(String routerId, table.setSchema(null); } else if (StringUtils.isNotBlank(router.getTargetSchemaName())) { table.setSchema(SymmetricUtils.replaceNodeVariables(sourceNode, targetNode, router.getTargetSchemaName())); + table.setSchema(SymmetricUtils.replaceCatalogSchemaVariables(catalogName, schemaName, router.getTargetSchemaName())); } if (StringUtils.isNotBlank(router.getTargetTableName())) { table.setName(router.getTargetTableName()); } + } return table; } diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/util/SymmetricUtils.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/util/SymmetricUtils.java index ca5aaed09d..f11fea3af8 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/util/SymmetricUtils.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/util/SymmetricUtils.java @@ -163,6 +163,16 @@ public static String replaceNodeVariables(Node sourceNode, Node targetNode, Stri } return str; } + + public static String replaceCatalogSchemaVariables(String catalogName, String schemaName, String str) { + if (catalogName != null) { + str = FormatUtils.replace("sourceCatalogName", catalogName, str); + } + if (schemaName != null) { + str = FormatUtils.replace("sourceSchemaName", schemaName, str); + } + return str; + } public static void logNotices() { synchronized (SymmetricUtils.class) {