From f00e28206727da7a80d7a415cf825e746fd8d186 Mon Sep 17 00:00:00 2001 From: Daniel Waterworth <me@danielwaterworth.com> Date: Thu, 26 May 2022 11:58:15 -0500 Subject: [PATCH] FIX: Delete extraneous topic bookmarks (#16926) Otherwise the migration can fail Co-authored-by: David Taylor <david@taylorhq.com> --- ...backfill_polymorphic_bookmarks_and_make_default.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/db/migrate/20220512011522_backfill_polymorphic_bookmarks_and_make_default.rb b/db/migrate/20220512011522_backfill_polymorphic_bookmarks_and_make_default.rb index f35aaaefe17..d3f5806c4a6 100644 --- a/db/migrate/20220512011522_backfill_polymorphic_bookmarks_and_make_default.rb +++ b/db/migrate/20220512011522_backfill_polymorphic_bookmarks_and_make_default.rb @@ -14,6 +14,17 @@ class BackfillPolymorphicBookmarksAndMakeDefault < ActiveRecord::Migration[7.0] WHERE NOT bookmarks.for_topic AND bookmarkable_id IS NULL SQL + DB.exec(<<~SQL) + DELETE FROM bookmarks + WHERE id NOT IN ( + SELECT MIN(bookmarks.id) + FROM bookmarks + INNER JOIN posts ON bookmarks.post_id = posts.id + WHERE bookmarks.for_topic + GROUP BY (bookmarks.user_id, posts.topic_id) + ) + SQL + DB.exec(<<~SQL) UPDATE bookmarks SET bookmarkable_id = posts.topic_id, bookmarkable_type = 'Topic'