MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / Delete

Method Delete

agent/app/service/database_mysql.go:287–322  ·  view source on GitHub ↗
(ctx context.Context, req dto.MysqlDBDelete)

Source from the content-addressed store, hash-verified

285}
286
287func (u *MysqlService) Delete(ctx context.Context, req dto.MysqlDBDelete) error {
288 db, err := mysqlRepo.Get(repo.WithByID(req.ID))
289 if err != nil && !req.ForceDelete {
290 return err
291 }
292 cli, version, err := LoadMysqlClientByFrom(req.Database)
293 if err != nil {
294 return err
295 }
296 defer cli.Close()
297 if err := cli.Delete(client.DeleteInfo{
298 Name: db.Name,
299 Version: version,
300 Username: db.Username,
301 Permission: db.Permission,
302 Timeout: 300,
303 }); err != nil && !req.ForceDelete {
304 return err
305 }
306
307 if req.DeleteBackup {
308 uploadDir := filepath.Join(global.Dir.DataDir, fmt.Sprintf("uploads/database/%s/%s/%s", req.Type, req.Database, db.Name))
309 if _, err := os.Stat(uploadDir); err == nil {
310 _ = os.RemoveAll(uploadDir)
311 }
312 backupDir := filepath.Join(global.Dir.LocalBackupDir, fmt.Sprintf("database/%s/%s/%s", req.Type, db.MysqlName, db.Name))
313 if _, err := os.Stat(backupDir); err == nil {
314 _ = os.RemoveAll(backupDir)
315 }
316 _ = backupRepo.DeleteRecord(ctx, repo.WithByType(req.Type), repo.WithByName(req.Database), repo.WithByDetailName(db.Name))
317 global.LOG.Infof("delete database %s-%s backups successful", req.Database, db.Name)
318 }
319
320 _ = mysqlRepo.Delete(ctx, repo.WithByID(db.ID))
321 return nil
322}
323
324func (u *MysqlService) ChangePassword(req dto.ChangeDBInfo) error {
325 if cmd.CheckIllegal(req.Value) {

Callers

nothing calls this directly

Calls 10

LoadMysqlClientByFromFunction · 0.85
RemoveAllMethod · 0.80
GetMethod · 0.65
WithByIDMethod · 0.65
CloseMethod · 0.65
DeleteMethod · 0.65
DeleteRecordMethod · 0.65
WithByTypeMethod · 0.65
WithByDetailNameMethod · 0.65
StatMethod · 0.45

Tested by

no test coverage detected