Mercurial > hg > soundsoftware-site
view db/migrate/20090312194159_add_projects_trackers_unique_index.rb @ 437:102056ec2de9 bug_169
Introduce a method on the sys controller to clear a repository cache; use a file in the mirror dir to notify the Ruby external repo script that it needs to call it
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Mon, 06 Jun 2011 13:31:44 +0100 |
parents | 513646585e45 |
children | 622f24f53b42 |
line wrap: on
line source
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