From f2e2aff17f231d31adeb1377355a261833657a2d Mon Sep 17 00:00:00 2001 From: Lars Date: Sun, 22 Mar 2026 17:05:06 +0100 Subject: [PATCH] fix: remove ON CONFLICT clause after constraint removal Migration 011 removed UNIQUE constraint (profile_id, date) to allow multiple rest days per date, but INSERT still used ON CONFLICT. Error: psycopg2.errors.InvalidColumnReference: there is no unique or exclusion constraint matching the ON CONFLICT specification Solution: Remove ON CONFLICT clause, use plain INSERT. Multiple entries per date now allowed. Co-Authored-By: Claude Opus 4.6 --- backend/routers/rest_days.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/backend/routers/rest_days.py b/backend/routers/rest_days.py index 3fef4cd..490de6a 100644 --- a/backend/routers/rest_days.py +++ b/backend/routers/rest_days.py @@ -93,15 +93,11 @@ def create_rest_day( with get_db() as conn: cur = get_cursor(conn) - # Upsert by (profile_id, date) + # Insert (multiple entries per date allowed) cur.execute( """ INSERT INTO rest_days (profile_id, date, rest_config, note, created_at) VALUES (%s, %s, %s, %s, CURRENT_TIMESTAMP) - ON CONFLICT (profile_id, date) - DO UPDATE SET - rest_config = EXCLUDED.rest_config, - note = EXCLUDED.note RETURNING id, profile_id, date, rest_config, note, created_at """, (pid, data.date, Json(config_dict), data.note)