From 6b908d255325027a5a1204ef7ebd073928c9cd33 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Thu, 7 Sep 2023 21:36:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=88=9B=E5=BB=BA=E9=87=8D=E5=91=BD=E5=90=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9A=84=E9=97=AE=E9=A2=98=20(#2222)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/utils/mysql/client/remote.go | 8 ++++---- frontend/src/views/database/mysql/index.vue | 8 ++++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/backend/utils/mysql/client/remote.go b/backend/utils/mysql/client/remote.go index 80b853fab..baf89b538 100644 --- a/backend/utils/mysql/client/remote.go +++ b/backend/utils/mysql/client/remote.go @@ -32,7 +32,7 @@ func NewRemote(db Remote) *Remote { func (r *Remote) Create(info CreateInfo) error { createSql := fmt.Sprintf("create database `%s` default character set %s collate %s", info.Name, info.Format, formatMap[info.Format]) if err := r.ExecSQL(createSql, info.Timeout); err != nil { - if strings.Contains(err.Error(), "ERROR 1007") { + if strings.Contains(strings.ToLower(err.Error()), "ERROR 1007") { return buserr.New(constant.ErrDatabaseIsExist) } return err @@ -61,6 +61,9 @@ func (r *Remote) CreateUser(info CreateInfo, withDeleteDB bool) error { for _, user := range userlist { if err := r.ExecSQL(fmt.Sprintf("create user %s identified by '%s';", user, info.Password), info.Timeout); err != nil { + if strings.Contains(strings.ToLower(err.Error()), "error 1396") { + return buserr.New(constant.ErrUserIsExist) + } if withDeleteDB { _ = r.Delete(DeleteInfo{ Name: info.Name, @@ -69,9 +72,6 @@ func (r *Remote) CreateUser(info CreateInfo, withDeleteDB bool) error { Permission: info.Permission, ForceDelete: true, Timeout: 300}) - if strings.Contains(err.Error(), "ERROR 1396") { - return buserr.New(constant.ErrUserIsExist) - } } return err } diff --git a/frontend/src/views/database/mysql/index.vue b/frontend/src/views/database/mysql/index.vue index 59c9ba097..cbcf23628 100644 --- a/frontend/src/views/database/mysql/index.vue +++ b/frontend/src/views/database/mysql/index.vue @@ -295,14 +295,18 @@ const onChangeConn = async () => { }; const goRemoteDB = async () => { - globalStore.setCurrentDB(currentDB.value.database); + if (currentDB.value) { + globalStore.setCurrentDB(currentDB.value.database); + } router.push({ name: 'MySQL-Remote' }); }; const passwordRef = ref(); const onSetting = async () => { - globalStore.setCurrentDB(currentDB.value.database); + if (currentDB.value) { + globalStore.setCurrentDB(currentDB.value.database); + } router.push({ name: 'MySQL-Setting', params: { type: currentDB.value.type, database: currentDB.value.database } }); };