From 1e9d64fd190c97e8252e8e8a0255f185a19de360 Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Wed, 26 Jun 2024 19:51:23 +0800 Subject: [PATCH] fix: sqlite too many SQL variables --- model/ability.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/model/ability.go b/model/ability.go index 8d2d4f8..2733f6c 100644 --- a/model/ability.go +++ b/model/ability.go @@ -56,6 +56,11 @@ func getPriority(group string, model string, retry int) (int, error) { return 0, err } + if len(priorities) == 0 { + // 如果没有查询到优先级,则返回错误 + return 0, errors.New("数据库一致性被破坏") + } + // 确定要使用的优先级 var priorityToUse int if retry >= len(priorities) { @@ -199,7 +204,7 @@ func FixAbility() (int, error) { // Use channelIds to find channel not in abilities table var abilityChannelIds []int - err = DB.Model(&Ability{}).Pluck("channel_id", &abilityChannelIds).Error + err = DB.Table("abilities").Distinct("channel_id").Pluck("channel_id", &abilityChannelIds).Error if err != nil { common.SysError(fmt.Sprintf("Get channel ids from abilities table failed: %s", err.Error())) return 0, err