diff --git a/migrations/2025-12-17-230100_unique_favorites/down.sql b/migrations/2025-12-17-230100_unique_favorites/down.sql new file mode 100644 index 0000000..b42819b --- /dev/null +++ b/migrations/2025-12-17-230100_unique_favorites/down.sql @@ -0,0 +1,3 @@ +-- Rollback unique constraint on favorites + +DROP INDEX IF EXISTS idx_favorites_unique; diff --git a/migrations/2025-12-17-230100_unique_favorites/up.sql b/migrations/2025-12-17-230100_unique_favorites/up.sql new file mode 100644 index 0000000..b123617 --- /dev/null +++ b/migrations/2025-12-17-230100_unique_favorites/up.sql @@ -0,0 +1,12 @@ +-- Add unique constraint to prevent duplicate favorites per user + +-- First, remove any existing duplicates (keep the oldest one) +DELETE FROM favorites +WHERE rowid NOT IN ( + SELECT MIN(rowid) + FROM favorites + GROUP BY userid, path +); + +-- Add unique index to enforce constraint +CREATE UNIQUE INDEX idx_favorites_unique ON favorites(userid, path);