demarches-normaliennes/lib/tasks/deployment/20211006154552_remove_orphaned_avis.rake

25 lines
739 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2021-10-06 17:48:07 +02:00
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