diff --git a/packages/api/src/resolvers/subscriptions/index.ts b/packages/api/src/resolvers/subscriptions/index.ts index 7076e8524..74375441d 100644 --- a/packages/api/src/resolvers/subscriptions/index.ts +++ b/packages/api/src/resolvers/subscriptions/index.ts @@ -185,7 +185,6 @@ export const subscribeResolver = authorized< url: input.url || undefined, name: input.name || undefined, user: { id: uid }, - status: SubscriptionStatus.Active, type: input.subscriptionType || SubscriptionType.Rss, // default to rss }) ) diff --git a/packages/db/migrations/0136.do.add_unique_to_subscription_url.sql b/packages/db/migrations/0136.do.add_unique_to_subscription_url.sql index d8b83487d..2bfea4029 100755 --- a/packages/db/migrations/0136.do.add_unique_to_subscription_url.sql +++ b/packages/db/migrations/0136.do.add_unique_to_subscription_url.sql @@ -6,13 +6,12 @@ BEGIN; -- Deleting duplicates first to avoid unique constraint violation WITH DuplicateCTE AS ( - SELECT user_id, url, - ROW_NUMBER() OVER (PARTITION BY user_id, url ORDER BY (SELECT NULL)) AS RowNum + SELECT id, ROW_NUMBER() OVER (PARTITION BY user_id, url ORDER BY status, last_fetched_at DESC NULLS LAST) AS row_number FROM omnivore.subscriptions WHERE type = 'RSS' ) DELETE FROM omnivore.subscriptions - WHERE (user_id, url) IN (SELECT user_id, url FROM DuplicateCTE WHERE RowNum > 1); + WHERE id IN (SELECT id FROM DuplicateCTE WHERE row_number > 1); ALTER TABLE omnivore.subscriptions ADD CONSTRAINT subscriptions_user_id_url_key UNIQUE (user_id, url);