From 5d86ffe7680aff2edf1a85d93c157c24ce9a3e04 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Mon, 12 Jul 2021 09:36:46 -0700 Subject: [PATCH] fix: duplicate DB names (#15614) --- .../views/CRUD/data/database/DatabaseModal/index.tsx | 12 ++++++------ .../src/views/CRUD/data/database/types.ts | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx index eecdf734d3..e755cc5df9 100644 --- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx +++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx @@ -532,16 +532,16 @@ const DatabaseModal: FunctionComponent = ({ } }; - const setDatabaseModel = (engine: string) => { + const setDatabaseModel = (database_name: string) => { const selectedDbModel = availableDbs?.databases.filter( - (db: DatabaseObject) => db.engine === engine, + (db: DatabaseObject) => db.name === database_name, )[0]; - const { name, parameters } = selectedDbModel; + const { engine, parameters } = selectedDbModel; const isDynamic = parameters !== undefined; setDB({ type: ActionType.dbSelected, payload: { - database_name: name, + database_name, configuration_method: isDynamic ? CONFIGURATION_METHOD.DYNAMIC_FORM : CONFIGURATION_METHOD.SQLALCHEMY_URI, @@ -566,7 +566,7 @@ const DatabaseModal: FunctionComponent = ({ a.name.localeCompare(b.name), ) .map((database: DatabaseForm) => ( - + {database.name} ))} @@ -620,7 +620,7 @@ const DatabaseModal: FunctionComponent = ({ .map((database: DatabaseForm) => ( setDatabaseModel(database.engine)} + onClick={() => setDatabaseModel(database.name)} buttonText={database.name} icon={dbImages?.[database.engine]} /> diff --git a/superset-frontend/src/views/CRUD/data/database/types.ts b/superset-frontend/src/views/CRUD/data/database/types.ts index 3c6fa8a825..2bfc3b0bc3 100644 --- a/superset-frontend/src/views/CRUD/data/database/types.ts +++ b/superset-frontend/src/views/CRUD/data/database/types.ts @@ -25,6 +25,7 @@ export type DatabaseObject = { // Connection + general id?: number; database_name: string; + name: string; // synonym to database_name sqlalchemy_uri?: string; backend?: string; created_by?: null | DatabaseUser;