diff db/migrate/.svn/text-base/072_add_enumerations_position.rb.svn-base @ 0:513646585e45

* Import Redmine trunk SVN rev 3859
author Chris Cannam
date Fri, 23 Jul 2010 15:52:44 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/migrate/.svn/text-base/072_add_enumerations_position.rb.svn-base	Fri Jul 23 15:52:44 2010 +0100
@@ -0,0 +1,15 @@
+class AddEnumerationsPosition < ActiveRecord::Migration
+  def self.up
+    add_column(:enumerations, :position, :integer, :default => 1) unless Enumeration.column_names.include?('position')
+    Enumeration.find(:all).group_by(&:opt).each do |opt, enums|
+      enums.each_with_index do |enum, i|
+        # do not call model callbacks
+        Enumeration.update_all "position = #{i+1}", {:id => enum.id}
+      end
+    end
+  end
+
+  def self.down
+    remove_column :enumerations, :position
+  end
+end