FIX: delete post action from permanently deleted posts (#12309)

When Post is permanently deleted, we should delete correlated PostAction as well.
This commit is contained in:
Krzysztof Kotlarek 2021-03-18 15:22:41 +11:00 committed by GitHub
parent 7e470bf8ae
commit c5a116859d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 1 deletions

View File

@ -34,7 +34,7 @@ class Post < ActiveRecord::Base
has_many :post_replies
has_many :replies, through: :post_replies
has_many :post_actions
has_many :post_actions, dependent: :destroy
has_many :topic_links
has_many :group_mentions, dependent: :destroy

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
class DeleteOrphanPostActions < ActiveRecord::Migration[6.0]
def up
sql = <<~SQL
DELETE FROM post_actions
USING post_actions pa
LEFT JOIN posts ON posts.id = pa.post_id
WHERE posts.id IS NULL
AND post_actions.id = pa.id
SQL
execute(sql)
end
def down
raise ActiveRecord::IrreversibleMigration
end
end