From 490f71856d9302e6fac0b629b5c51754d63df31a Mon Sep 17 00:00:00 2001 From: Simon Lehericey Date: Tue, 18 Jul 2017 14:59:35 +0200 Subject: [PATCH] Rake: add tasks to clean followed_dossiers --- lib/tasks/2017_07_18_clean_followed_dossiers.rake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/tasks/2017_07_18_clean_followed_dossiers.rake diff --git a/lib/tasks/2017_07_18_clean_followed_dossiers.rake b/lib/tasks/2017_07_18_clean_followed_dossiers.rake new file mode 100644 index 000000000..89058da02 --- /dev/null +++ b/lib/tasks/2017_07_18_clean_followed_dossiers.rake @@ -0,0 +1,15 @@ +namespace :'2017_07_18_clean_followed_dossiers' do + task clean: :environment do + Follow.where(gestionnaire_id: nil).destroy_all + Follow.where(dossier_id: nil).destroy_all + + duplicate_follows = Follow.group('gestionnaire_id', 'dossier_id').count.select{ |_gestionnaire_id_dossier_id, count| count > 1 }.keys + + duplicate_ids = duplicate_follows.map { |gestionnaire_id, dossier_id| Follow.where(gestionnaire_id: gestionnaire_id, dossier_id: dossier_id).pluck(:id) } + + duplicate_ids.each do |ids| + ids.pop + Follow.where(id: ids).destroy_all + end + end +end