This commit is contained in:
2025-10-23 20:02:41 +08:00
parent 170b25bc2a
commit 868741ebe1
2 changed files with 12 additions and 4 deletions

2
assets

Submodule assets updated: 6dc3943b70...3a21802d76

View File

@@ -70,10 +70,18 @@ func (c *settingClient) Gets(ctx context.Context, names []string) (map[string]st
func (c *settingClient) Set(ctx context.Context, settings map[string]string) error { func (c *settingClient) Set(ctx context.Context, settings map[string]string) error {
for k, v := range settings { for k, v := range settings {
if err := c.client.Setting.Update().Where(setting.Name(k)).SetValue(v).Exec(ctx); err != nil { // 尝试更新现有记录
return fmt.Errorf("failed to create setting %q: %w", k, err) affected, err := c.client.Setting.Update().Where(setting.Name(k)).SetValue(v).Save(ctx)
if err != nil {
return fmt.Errorf("failed to update setting %q: %w", k, err)
} }
// 如果没有记录被更新,创建新记录
if affected == 0 {
if err := c.client.Setting.Create().SetName(k).SetValue(v).Exec(ctx); err != nil {
return fmt.Errorf("failed to create setting %q: %w", k, err)
}
}
} }
return nil return nil