From cb78a5ea05966e4ef4b96aaf01c099a817bf8be9 Mon Sep 17 00:00:00 2001 From: sokie Date: Tue, 11 Nov 2025 12:30:26 +0100 Subject: [PATCH] Make upsert atomic --- app/models/setting.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/setting.rb b/app/models/setting.rb index 52e674c6d..a22935f08 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -74,7 +74,9 @@ class Setting < RailsSettings::Base if value.nil? where(var: dynamic_key).destroy_all else - super(dynamic_key, value) + # Use upsert for atomic insert/update to avoid race conditions + upsert({ var: dynamic_key, value: value.to_yaml }, unique_by: :var) + clear_cache end end end