OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/db/migrate/20091204172554_remove_costs...

30 lines
918 B

class RemoveCostsFromIssues < ActiveRecord::Migration
def self.up
remove_column :issues, :labor_costs
remove_column :issues, :material_costs
remove_column :issues, :overall_costs
end
def self.down
add_column :issues, :labor_costs, :decimal, :precision => 15, :scale => 4, :null => false, :default => 0.0
add_column :issues, :material_costs, :decimal, :precision => 15, :scale => 4, :null => false, :default => 0.0
add_column :issues, :overall_costs, :decimal, :precision => 15, :scale => 4, :null => false, :default => 0.0
# create a temporary admin user
u = User.new(:firstname => "Automatic", :lastname => "Migration")
u.admin = true
User.current = u
# update the new denormalized columns
transaction do
cache do
Issue.all.each{|i| i.update_costs!}
end
end
# clean up after me
User.current = User.anonymous
end
end