fix(db): remove bad attachments
destroy attachments with blobs that doesn't exist
This commit is contained in:
parent
1402d050cf
commit
f556b39910
1 changed files with 21 additions and 0 deletions
21
lib/tasks/deployment/20220728062218_cleanup_attachments.rake
Normal file
21
lib/tasks/deployment/20220728062218_cleanup_attachments.rake
Normal file
|
@ -0,0 +1,21 @@
|
|||
namespace :after_party do
|
||||
desc 'Deployment task: cleanup_attachments'
|
||||
task cleanup_attachments: :environment do
|
||||
puts "Running deploy task 'cleanup_attachments'"
|
||||
|
||||
invalid_attachments = ActiveStorage::Attachment.where.missing(:blob)
|
||||
invalid_attachments_count = invalid_attachments.size
|
||||
|
||||
if invalid_attachments.any?
|
||||
invalid_attachments.destroy_all
|
||||
puts "#{invalid_attachments_count} with blob that doesn't exist have been destroyed"
|
||||
else
|
||||
puts "No attachments with blob that doesn't exist found"
|
||||
end
|
||||
|
||||
# Update task as completed. If you remove the line below, the task will
|
||||
# run with every deploy (or every time you call after_party:run).
|
||||
AfterParty::TaskRecord
|
||||
.create version: AfterParty::TaskRecorder.new(__FILE__).timestamp
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue