mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-09-05 06:04:35 +08:00
fix: Optimize warning messages for database deletion (#10226)
This commit is contained in:
parent
592e315f21
commit
bff1a8ad60
5 changed files with 15 additions and 17 deletions
|
@ -3,11 +3,12 @@ package service
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/1Panel-dev/1Panel/agent/constant"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"github.com/1Panel-dev/1Panel/agent/constant"
|
||||
|
||||
"github.com/1Panel-dev/1Panel/agent/app/repo"
|
||||
|
||||
"github.com/1Panel-dev/1Panel/agent/app/dto"
|
||||
|
@ -320,6 +321,9 @@ func (u *PostgresqlService) Delete(ctx context.Context, req dto.PostgresqlDBDele
|
|||
ForceDelete: req.ForceDelete,
|
||||
Timeout: 300,
|
||||
}); err != nil && !req.ForceDelete {
|
||||
if strings.HasPrefix(err.Error(), "drop user") {
|
||||
_ = postgresqlRepo.Update(db.ID, map[string]interface{}{"is_delete": true})
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -117,17 +117,17 @@ func (r *Local) Delete(info DeleteInfo) error {
|
|||
for _, user := range userlist {
|
||||
if strings.HasPrefix(info.Version, "5.6") {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop user %s", user), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
} else {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop user if exists %s", user), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(info.Name) != 0 {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop database if exists `%s`", info.Name), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop database failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
if !info.ForceDelete {
|
||||
|
|
|
@ -128,17 +128,17 @@ func (r *Remote) Delete(info DeleteInfo) error {
|
|||
for _, user := range userlist {
|
||||
if strings.HasPrefix(info.Version, "5.6") {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop user %s", user), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
} else {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop user if exists %s", user), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(info.Name) != 0 {
|
||||
if err := r.ExecSQL(fmt.Sprintf("drop database if exists `%s`", info.Name), info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop database failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
if !info.ForceDelete {
|
||||
|
|
|
@ -101,15 +101,12 @@ func (r *Local) Delete(info DeleteInfo) error {
|
|||
if len(info.Name) != 0 {
|
||||
dropSql := fmt.Sprintf("DROP DATABASE \"%s\"", info.Name)
|
||||
if err := r.ExecSQL(dropSql, info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop database failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
dropSql := fmt.Sprintf("DROP USER \"%s\"", info.Username)
|
||||
if err := r.ExecSQL(dropSql, info.Timeout); err != nil && !info.ForceDelete {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "depend on it") {
|
||||
return buserr.WithDetail("ErrInUsed", info.Username, nil)
|
||||
}
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -96,15 +96,12 @@ func (r *Remote) Delete(info DeleteInfo) error {
|
|||
if len(info.Name) != 0 {
|
||||
dropSql := fmt.Sprintf("DROP DATABASE \"%s\"", info.Name)
|
||||
if err := r.ExecSQL(dropSql, info.Timeout); err != nil && !info.ForceDelete {
|
||||
return err
|
||||
return fmt.Errorf("drop database failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
dropSql := fmt.Sprintf("DROP USER \"%s\"", info.Username)
|
||||
if err := r.ExecSQL(dropSql, info.Timeout); err != nil && !info.ForceDelete {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "depend on it") {
|
||||
return buserr.WithDetail("ErrInUsed", info.Username, nil)
|
||||
}
|
||||
return err
|
||||
return fmt.Errorf("drop user failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue