diff --git a/db/migrate/020_add_role_position.rb b/db/migrate/020_add_role_position.rb index e220bd9fd..0012833fe 100644 --- a/db/migrate/020_add_role_position.rb +++ b/db/migrate/020_add_role_position.rb @@ -1,7 +1,7 @@ class AddRolePosition < ActiveRecord::Migration def self.up add_column :roles, :position, :integer, :default => 1 - Role.find(:all).each_with_index {|role, i| role.update_attribute(:position, i+1)} + Role.update_all("position = (SELECT COUNT(*) FROM #{Role.table_name} r WHERE r.id < id) + 1") end def self.down