fix: Notification page breakages (#5236)

- Remove the cascading foreign key indexes
- Add migration to clean up existing objects

fixes: #4285
This commit is contained in:
Sojan Jose
2022-08-10 13:46:46 +02:00
committed by GitHub
parent 12b6fb211a
commit 74fdfffe08
23 changed files with 93 additions and 115 deletions

View File

@@ -0,0 +1,19 @@
# Delete migration and spec after 2 consecutive releases.
class Migration::RemoveStaleNotificationsJob < ApplicationJob
queue_as :scheduled_jobs
def perform
remove_invalid_messages
end
private
def remove_invalid_messages
deleted_ids = []
Message.distinct.pluck(:inbox_id).each_slice(1000) do |id_list|
deleted_ids << (id_list - Inbox.where(id: id_list).pluck(:id))
end
Message.where(inbox_id: deleted_ids.flatten).destroy_all
end
end