From 437be2c901fa971b93ffbeb9d693fe896eca3dc8 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 16 Feb 2023 14:09:05 +0100 Subject: [PATCH] correctif(data): supprime les attachment sans blob --- .../20230216135218_reclean_attachments.rake | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lib/tasks/deployment/20230216135218_reclean_attachments.rake diff --git a/lib/tasks/deployment/20230216135218_reclean_attachments.rake b/lib/tasks/deployment/20230216135218_reclean_attachments.rake new file mode 100644 index 000000000..cfc5eb52f --- /dev/null +++ b/lib/tasks/deployment/20230216135218_reclean_attachments.rake @@ -0,0 +1,21 @@ +namespace :after_party do + desc 'Deployment task: reclean_attachments' + task reclean_attachments: :environment do + puts "Running deploy task 'reclean_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