From 7188749cb31bfac67e7189a4fffe5c14239e3536 Mon Sep 17 00:00:00 2001 From: CaIon Date: Sat, 2 Aug 2025 13:39:53 +0800 Subject: [PATCH] feat: truncate abilities table before processing channels --- model/ability.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/model/ability.go b/model/ability.go index 6dd8d8a6..08519de0 100644 --- a/model/ability.go +++ b/model/ability.go @@ -284,9 +284,24 @@ func FixAbility() (int, int, error) { return 0, 0, errors.New("已经有一个修复任务在运行中,请稍后再试") } defer fixLock.Unlock() + + // truncate abilities table + if common.UsingSQLite { + err := DB.Exec("DELETE FROM abilities").Error + if err != nil { + common.SysError(fmt.Sprintf("Delete abilities failed: %s", err.Error())) + return 0, 0, err + } + } else { + err := DB.Exec("TRUNCATE TABLE abilities").Error + if err != nil { + common.SysError(fmt.Sprintf("Truncate abilities failed: %s", err.Error())) + return 0, 0, err + } + } var channels []*Channel // Find all channels - err := DB.Model(&Channel{}).Find(&channels).Error + err = DB.Model(&Channel{}).Find(&channels).Error if err != nil { return 0, 0, err }