From 00296ffda51aee1d572219a40fe59f64c521f562 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Thu, 14 Sep 2017 22:32:46 +0200 Subject: [PATCH] Cleanup invalid likes without target --- db/migrate/20170914202650_cleanup_invalid_likes.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 db/migrate/20170914202650_cleanup_invalid_likes.rb diff --git a/db/migrate/20170914202650_cleanup_invalid_likes.rb b/db/migrate/20170914202650_cleanup_invalid_likes.rb new file mode 100644 index 000000000..2f1805fa0 --- /dev/null +++ b/db/migrate/20170914202650_cleanup_invalid_likes.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class CleanupInvalidLikes < ActiveRecord::Migration[5.1] + class Like < ApplicationRecord + end + + def up + Like.where(target_type: "Post").joins("LEFT OUTER JOIN posts ON posts.id = likes.target_id") + .where("posts.id IS NULL").delete_all + Like.where(target_type: "Comment").joins("LEFT OUTER JOIN comments ON comments.id = likes.target_id") + .where("comments.id IS NULL").delete_all + end +end