From 0a40cdf28830811cde63f1a9b59eff98372c9ae6 Mon Sep 17 00:00:00 2001 From: Maxwell Salzberg Date: Wed, 18 Jan 2012 11:48:23 -0800 Subject: [PATCH] MS DG make share_visibility_converter really defensive :( --- lib/share_visibility_converter.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/share_visibility_converter.rb b/lib/share_visibility_converter.rb index b8b0e7aa1..6847c7b47 100644 --- a/lib/share_visibility_converter.rb +++ b/lib/share_visibility_converter.rb @@ -36,13 +36,17 @@ class ShareVisibilityConverter puts "Updating batch ##{batch_count} of #{(count/1000)+1}..." batch_count += 1 visibilities.each do |visibility| - type = visibility.shareable_type - id = visibility.shareable_id.to_s - u = visibility.contact.user - u.hidden_shareables ||= {} - u.hidden_shareables[type] ||= [] - u.hidden_shareables[type] << id unless u.hidden_shareables[type].include?(id) - u.save!(:validate => false) + begin + type = visibility.shareable_type + id = visibility.shareable_id.to_s + u = visibility.contact.user + u.hidden_shareables ||= {} + u.hidden_shareables[type] ||= [] + u.hidden_shareables[type] << id unless u.hidden_shareables[type].include?(id) + u.save!(:validate => false) + rescue Exception =>e + puts "ERROR: #{e.message} skipping pv with id: #{visibility.id}" + end end end end