demarches-normaliennes/lib/tasks/deployment/20211006154552_remove_orphaned_avis.rake
2024-08-22 09:26:48 +02:00

24 lines
739 B
Ruby

# frozen_string_literal: true
namespace :after_party do
desc 'Deployment task: remove_orphaned_avis'
task remove_orphaned_avis: :environment do
puts "Running deploy task 'remove_orphaned_avis'"
avis = Avis.unscope(:joins)
.joins('LEFT JOIN dossiers ON dossiers.id = avis.dossier_id')
.where(dossiers: { id: nil })
progress = ProgressReport.new(avis.count)
avis.find_each do |avis|
avis.destroy
progress.inc
end
progress.finish
# 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