To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / db / migrate / 072_add_enumerations_position.rb @ 1298:4f746d8966dd

History | View | Annotate | Download (488 Bytes)

1 0:513646585e45 Chris
class AddEnumerationsPosition < ActiveRecord::Migration
2
  def self.up
3
    add_column(:enumerations, :position, :integer, :default => 1) unless Enumeration.column_names.include?('position')
4 1295:622f24f53b42 Chris
    Enumeration.all.group_by(&:opt).each do |opt, enums|
5 0:513646585e45 Chris
      enums.each_with_index do |enum, i|
6
        # do not call model callbacks
7
        Enumeration.update_all "position = #{i+1}", {:id => enum.id}
8
      end
9
    end
10
  end
11
12
  def self.down
13
    remove_column :enumerations, :position
14
  end
15
end