annotate db/migrate/20090312194159_add_projects_trackers_unique_index.rb @ 1516:b450a9d58aed redmine-2.4

Update to Redmine SVN revision 13356 on 2.4-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:28:31 +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