diff .svn/pristine/e9/e98415a2db41aabe4184a766f6897f1f0ee7203f.svn-base @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.svn/pristine/e9/e98415a2db41aabe4184a766f6897f1f0ee7203f.svn-base	Fri Feb 24 19:09:32 2012 +0000
@@ -0,0 +1,21 @@
+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