072_add_enumerations_position.rb
15 lines
| 497 B
| text/x-ruby
|
RubyLexer
|
r789 | class AddEnumerationsPosition < ActiveRecord::Migration | ||
def self.up | ||||
|
r851 | add_column(:enumerations, :position, :integer, :default => 1) unless Enumeration.column_names.include?('position') | ||
|
r789 | Enumeration.find(:all).group_by(&:opt).each_value do |enums| | ||
|
r798 | enums.each_with_index do |enum, i| | ||
# do not call model callbacks | ||||
Enumeration.update_all "position = #{i+1}", {:id => enum.id} | ||||
end | ||||
|
r789 | end | ||
end | ||||
def self.down | ||||
remove_column :enumerations, :position | ||||
end | ||||
end | ||||