To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
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 |