Skip to content

Commit ea19bed

Browse files
authored
fix(setting): handle delete of setting item with empty key (#2131)
1 parent b6db83e commit ea19bed

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

internal/bootstrap/data/setting.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ func initSettings() {
3434
}
3535
settingMap := map[string]*model.SettingItem{}
3636
for _, v := range settings {
37+
if v.Key == "" {
38+
err := db.DeleteSettingItemByKey(v.Key)
39+
if err != nil {
40+
utils.Log.Errorf("failed delete setting with empty key: %+v", err)
41+
}
42+
continue
43+
}
3744
if !isActive(v.Key) && v.Flag != model.DEPRECATED {
3845
v.Flag = model.DEPRECATED
3946
err = op.SaveSettingItem(&v)

internal/db/settingitem.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,5 @@ func SaveSettingItem(item *model.SettingItem) error {
6565
}
6666

6767
func DeleteSettingItemByKey(key string) error {
68-
return errors.WithStack(db.Delete(&model.SettingItem{Key: key}).Error)
68+
return errors.WithStack(db.Where(fmt.Sprintf("%s = ?", columnName("key")), key).Delete(model.SettingItem{}).Error)
6969
}

0 commit comments

Comments
 (0)