mirror of
				https://github.com/redmine/redmine.git
				synced 2025-10-31 10:25:55 +01:00 
			
		
		
		
	git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2580 e93f8b46-1217-0410-a6f0-8f06a7374b81
		
			
				
	
	
		
			22 lines
		
	
	
		
			605 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			605 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| class AddProjectsTrackersUniqueIndex < ActiveRecord::Migration
 | |
|   def self.up
 | |
|     remove_duplicates
 | |
|     add_index :projects_trackers, [:project_id, :tracker_id], :name => :projects_trackers_unique, :unique => true
 | |
|   end
 | |
| 
 | |
|   def self.down
 | |
|     remove_index :projects_trackers, :name => :projects_trackers_unique
 | |
|   end
 | |
| 
 | |
|   # Removes duplicates in projects_trackers table
 | |
|   def self.remove_duplicates
 | |
|     Project.find(:all).each do |project|
 | |
|       ids = project.trackers.collect(&:id)
 | |
|       unless ids == ids.uniq
 | |
|         project.trackers.clear
 | |
|         project.tracker_ids = ids.uniq
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |