From ede0a5ec9bfff3a7e3b3e4f86496da2756d5e0bd Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 6 Jul 2021 15:45:14 +0100 Subject: [PATCH] Making sure that keys cannot be duplicated for primary keys, this wouldn't have any function. --- packages/server/src/integrations/mysql.ts | 2 +- packages/server/src/integrations/postgres.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/server/src/integrations/mysql.ts b/packages/server/src/integrations/mysql.ts index e6dfec886c..9567fa7054 100644 --- a/packages/server/src/integrations/mysql.ts +++ b/packages/server/src/integrations/mysql.ts @@ -163,7 +163,7 @@ module MySQLModule { ) for (let column of descResp) { const columnName = column.Field - if (column.Key === "PRI") { + if (column.Key === "PRI" && primaryKeys.indexOf(column.Key) === -1) { primaryKeys.push(columnName) } const constraints = { diff --git a/packages/server/src/integrations/postgres.ts b/packages/server/src/integrations/postgres.ts index c4eb58b782..c114acf6b5 100644 --- a/packages/server/src/integrations/postgres.ts +++ b/packages/server/src/integrations/postgres.ts @@ -147,7 +147,11 @@ module PostgresModule { if (!tableKeys[tableName]) { tableKeys[tableName] = [] } - tableKeys[tableName].push(table.column_name || table.primary_key) + const key = table.column_name || table.primary_key + // only add the unique keys + if (key && tableKeys[tableName].indexOf(key) === -1) { + tableKeys[tableName].push(key) + } } } catch (err) { tableKeys = {}