annotate db/migrate/.svn/text-base/20090312194159_add_projects_trackers_unique_index.rb.svn-base @ 36:de76cd3e8c8e cc-branches

* Probably abortive experiments in extracting the branch from Hg
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Wed, 20 Oct 2010 10:07:29 +0100
parents 513646585e45
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@0 13 Project.find(: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