annotate db/migrate/20090312194159_add_projects_trackers_unique_index.rb @ 1628:9c5f8e24dadc live tip

Quieten this cron script
author Chris Cannam
date Tue, 25 Aug 2020 11:38:49 +0100
parents 261b3d9a4903
children
rev   line source
Chris@0 1 class AddProjectsTrackersUniqueIndex < ActiveRecord::Migration
Chris@0 2 def self.up
Chris@0 3 remove_duplicates
Chris@0 4 add_index :projects_trackers, [:project_id, :tracker_id], :name => :projects_trackers_unique, :unique => true
Chris@0 5 end
Chris@0 6
Chris@0 7 def self.down
Chris@0 8 remove_index :projects_trackers, :name => :projects_trackers_unique
Chris@0 9 end
Chris@0 10
Chris@0 11 # Removes duplicates in projects_trackers table
Chris@0 12 def self.remove_duplicates
Chris@1464 13 Project.all.each do |project|
Chris@0 14 ids = project.trackers.collect(&:id)
Chris@0 15 unless ids == ids.uniq
Chris@0 16 project.trackers.clear
Chris@0 17 project.tracker_ids = ids.uniq
Chris@0 18 end
Chris@0 19 end
Chris@0 20 end
Chris@0 21 end