Changed the set_schedule function to first attempt updating existing records before inserting new ones. This improves efficiency by avoiding unnecessary insert conflicts and subsequent updates. The logic now: 1. Tries to update matching existing schedule first 2. Only performs insert if no matching record was found 3. Maintains same functionality but with better performance
10 lines
445 B
SQL
10 lines
445 B
SQL
-- Migration 6.0.6: Add unique constraint for system_automations
|
|
-- Fixes error: "there is no unique or exclusion constraint matching the ON CONFLICT specification"
|
|
|
|
ALTER TABLE public.system_automations
|
|
ADD CONSTRAINT system_automations_bot_kind_param_unique
|
|
UNIQUE (bot_id, kind, param);
|
|
|
|
-- Add index for the new constraint
|
|
CREATE INDEX IF NOT EXISTS idx_system_automations_bot_kind_param
|
|
ON public.system_automations (bot_id, kind, param);
|