From b5920d8ba8d5e9c55ffff23d6dbdeb3bf590535e Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Thu, 13 Aug 2015 19:01:13 -0500 Subject: [PATCH] Dedupe follows --- Rakefile | 13 +++++++++++++ migrations/073_add_follow_uniqueness.rb | 9 +++++++++ 2 files changed, 22 insertions(+) create mode 100644 migrations/073_add_follow_uniqueness.rb diff --git a/Rakefile b/Rakefile index b28ad941..ccb0c34e 100644 --- a/Rakefile +++ b/Rakefile @@ -240,6 +240,19 @@ task :prime_site_files => [:environment] do end end +desc 'dedupe_follows' +task :dedupe_follows => [:environment] do + follows = Follow.all + deduped_follows = Follow.all.uniq {|f| "#{f.site_id}_#{f.actioning_site_id}"} + + follows.each do |follow| + unless deduped_follows.include?(follow) + puts "deleting dedupe: #{follow.inspect}" + follow.delete + end + end +end + =begin desc 'Update screenshots' task :update_screenshots => [:environment] do diff --git a/migrations/073_add_follow_uniqueness.rb b/migrations/073_add_follow_uniqueness.rb new file mode 100644 index 00000000..4e80ff28 --- /dev/null +++ b/migrations/073_add_follow_uniqueness.rb @@ -0,0 +1,9 @@ +Sequel.migration do + up { + DB['alter table follows add constraint one_follow_per_site unique (site_id, actioning_site_id)'].first + } + + down { + DB['alter table follows drop constraint one_follow_per_site'].first + } +end