2024-04-29 00:17:15 +02:00
|
|
|
# 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
|