2
0
Эх сурвалжийг харах

fix: 修复渠道一次性添加很多model失败

修复渠道一次性添加很多model并且group多
提示失败 too many SQL variables
Xyfacai 1 жил өмнө
parent
commit
320da09f36
1 өөрчлөгдсөн 11 нэмэгдсэн , 1 устгасан
  1. 11 1
      model/ability.go

+ 11 - 1
model/ability.go

@@ -3,6 +3,7 @@ package model
 import (
 	"errors"
 	"fmt"
+	"github.com/samber/lo"
 	"gorm.io/gorm"
 	"one-api/common"
 	"strings"
@@ -134,7 +135,16 @@ func (channel *Channel) AddAbilities() error {
 			abilities = append(abilities, ability)
 		}
 	}
-	return DB.Create(&abilities).Error
+	if len(abilities) == 0 {
+		return nil
+	}
+	for _, chunk := range lo.Chunk(abilities, 50) {
+		err := DB.Create(&chunk).Error
+		if err != nil {
+			return err
+		}
+	}
+	return nil
 }
 
 func (channel *Channel) DeleteAbilities() error {