diff --git a/db/migrate/20120422150750_change_repositories_to_full_sti.rb b/db/migrate/20120422150750_change_repositories_to_full_sti.rb index 067d60256..d0de7bac7 100644 --- a/db/migrate/20120422150750_change_repositories_to_full_sti.rb +++ b/db/migrate/20120422150750_change_repositories_to_full_sti.rb @@ -1,16 +1,21 @@ class ChangeRepositoriesToFullSti < ActiveRecord::Migration def up - Repository.connection.select_rows("SELECT id, type FROM #{Repository.table_name}").each do |repository_id, repository_type| + Repository.connection. + select_rows("SELECT id, type FROM #{Repository.table_name}"). + each do |repository_id, repository_type| unless repository_type =~ /^Repository::/ - Repository.update_all ["type = ?", "Repository::#{repository_type}"], ["id = ?", repository_id] + Repository.where(["id = ?", repository_id]). + update_all(["type = ?", "Repository::#{repository_type}"]) end end end def down - Repository.connection.select_rows("SELECT id, type FROM #{Repository.table_name}").each do |repository_id, repository_type| + Repository.connection. + select_rows("SELECT id, type FROM #{Repository.table_name}"). + each do |repository_id, repository_type| if repository_type =~ /^Repository::(.+)$/ - Repository.update_all ["type = ?", $1], ["id = ?", repository_id] + Repository.where(["id = ?", repository_id]).update_all(["type = ?", $1]) end end end