From d621477cb285b6d43fae280581a09e4051b339f0 Mon Sep 17 00:00:00 2001 From: "Hicks, Josh" Date: Tue, 12 Dec 2017 13:34:46 -0500 Subject: [PATCH] Sort by foreign keys will also build potential channel mappings and missed dependencies. --- .../src/main/java/org/jumpmind/db/model/Database.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/symmetric-db/src/main/java/org/jumpmind/db/model/Database.java b/symmetric-db/src/main/java/org/jumpmind/db/model/Database.java index 6d70d7069f..f0846f5cc7 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/model/Database.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/model/Database.java @@ -117,9 +117,10 @@ public static List sortByForeignKeys(List
tables, Map resolvedPosition = new HashMap(); if (tablePrefix == null) { tablePrefix = "sym"; } + tablePrefix = tablePrefix.toLowerCase(); for(Table t : tables) { - if (t != null && !t.getName().toUpperCase().startsWith("SYM")) { + if (t != null && !t.getNameLowerCase().startsWith(tablePrefix)) { depth.setValue(1); parentPosition.setValue(-1); resolveForeginKeyOrder(t, allTables, resolved, temporary, finalList, null, missingDependencyMap, @@ -166,7 +167,7 @@ public static void resolveForeginKeyOrder(Table t, Map allTables, for (ForeignKey fk : t.getForeignKeys()) { Table fkTable = allTables.get(fk.getForeignTableName()); - if (fkTable != null) { + if (fkTable != t) { depth.increment(); resolveForeginKeyOrder(fkTable, allTables, resolved, temporary, finalList, t, missingDependencyMap, dependencyMap, depth, position, tablePrefix, resolvedPosition, parentPosition);