refactor(model): 优化模型更新逻辑

- 将全局更新改为字段映射更新
- 移除不必要的会话配置选项
- 使用显式字段映射替代 Omit 和 Select 操作
- 提升代码可读性和维护性
- 保持数据一致性的同时提高性能
This commit is contained in:
wans10
2026-02-03 09:48:53 +08:00
parent 112dd80fa1
commit 0c8db4f105

View File

@@ -61,12 +61,18 @@ func IsModelNameDuplicated(id int, name string) (bool, error) {
func (mi *Model) Update() error { func (mi *Model) Update() error {
mi.UpdatedTime = common.GetTimestamp() mi.UpdatedTime = common.GetTimestamp()
return DB.Session(&gorm.Session{AllowGlobalUpdate: false, FullSaveAssociations: false}). return DB.Model(&Model{}).Where("id = ?", mi.Id).Updates(map[string]interface{}{
Model(&Model{}). "model_name": mi.ModelName,
Where("id = ?", mi.Id). "description": mi.Description,
Omit("created_time"). "icon": mi.Icon,
Select("*"). "tags": mi.Tags,
Updates(mi).Error "vendor_id": mi.VendorID,
"endpoints": mi.Endpoints,
"status": mi.Status,
"sync_official": mi.SyncOfficial,
"name_rule": mi.NameRule,
"updated_time": mi.UpdatedTime,
}).Error
} }
func (mi *Model) Delete() error { func (mi *Model) Delete() error {