diff --git a/lib/discovery.js b/lib/discovery.js index 895716eb..0eeb83d3 100644 --- a/lib/discovery.js +++ b/lib/discovery.js @@ -263,7 +263,10 @@ function mixinDiscovery(PostgreSQL) { var sql = 'SELECT tc.table_schema AS "fkOwner", tc.constraint_name AS "fkName", tc.table_name AS "fkTableName",' + ' kcu.column_name AS "fkColumnName", kcu.ordinal_position AS "keySeq",' - + ' ccu.table_schema AS "pkOwner", \'PK\' AS "pkName", ' + + ' ccu.table_schema AS "pkOwner",' + + ' (SELECT constraint_name' + + ' FROM information_schema.table_constraints tc2' + + ' WHERE tc2.constraint_type = \'PRIMARY KEY\' and tc2.table_name=ccu.table_name limit 1) AS "pkName",' + ' ccu.table_name AS "pkTableName", ccu.column_name AS "pkColumnName"' + ' FROM information_schema.table_constraints tc' + ' JOIN information_schema.key_column_usage AS kcu' @@ -297,8 +300,10 @@ function mixinDiscovery(PostgreSQL) { PostgreSQL.prototype.buildQueryExportedForeignKeys = function(owner, table) { var sql = 'SELECT kcu.constraint_name AS "fkName", kcu.table_schema AS "fkOwner", kcu.table_name AS "fkTableName",' + ' kcu.column_name AS "fkColumnName", kcu.ordinal_position AS "keySeq",' - + ' \'PK\' AS "pkName", ccu.table_schema AS "pkOwner",' - + ' ccu.table_name AS "pkTableName", ccu.column_name AS "pkColumnName"' + + ' (SELECT constraint_name' + + ' FROM information_schema.table_constraints tc2' + + ' WHERE tc2.constraint_type = \'PRIMARY KEY\' and tc2.table_name=ccu.table_name limit 1) AS "pkName",' + + ' ccu.table_schema AS "pkOwner", ccu.table_name AS "pkTableName", ccu.column_name AS "pkColumnName"' + ' FROM' + ' information_schema.constraint_column_usage ccu' + ' JOIN information_schema.key_column_usage kcu'