favgroups: fix favgroups with invalid post ids.

Fix favgroups containing post ids that don't exist. Most of these are from
typos or from old expunged posts that weren't properly removed from favgroups.
This commit is contained in:
evazion
2020-01-15 23:02:42 -06:00
parent e42881fbbf
commit b03173d61e

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env ruby
require_relative "../../config/environment"
favgroups = FavoriteGroup.select("*, unnest(string_to_array(post_ids, ' '))::bigint AS post_id")
favgroups = FavoriteGroup.select("*").from(favgroups).where("NOT EXISTS (SELECT 1 FROM posts WHERE id = post_id)")
FavoriteGroup.transaction do
favgroups.each do |favgroup|
favgroup.remove!(favgroup.post_id)
end
end