rendered paste bodyclass UseIntegerMathForMoney < ActiveRecord::Migration
def self.up
add_column "donations", :reported_required_fee_dollars, :int
add_column "donations", :reported_required_fee_cents, :int
Donation.find(:all).each do |p|
amt = p.reported_required_fee.divmod(1)
p.update_attribute :reported_required_fee_dollars, amt[0]
p.update_attribute :reported_required_fee_cents, ((amt[1]*100).divmod(1)[0])
end
remove_column "donations", :reported_required_fee
add_column "donations", :reported_suggested_fee_dollars, :int
add_column "donations", :reported_suggested_fee_cents, :int
Donation.find(:all).each do |p|
amt = p.reported_suggested_fee.divmod(1)
p.update_attribute :reported_suggested_fee_dollars, amt[0]
p.update_attribute :reported_suggested_fee_cents, ((amt[1]*100).divmod(1)[0])
end
remove_column "donations", :reported_suggested_fee
end
def self.down
add_column "donations", :reported_required_fee, :decimal, :precision => 10, :scale => 2, :default => 0.0
Donation.find(:all).each do |p|
p.update_attribute :reported_required_fee, (p.reported_required_fee_dollars + (p.reported_required_fee_cents / 100.0))
end
remove_column "donations", :reported_required_fee_dollars
remove_column "donations", :reported_required_fee_cents
add_column "donations", :reported_suggested_fee, :decimal, :precision => 10, :scale => 2, :default => 0.0
Donation.find(:all).each do |p|
p.update_attribute :reported_suggested_fee, (p.reported_suggested_fee_dollars + (p.reported_suggested_fee_cents / 100.0))
end
remove_column "donations", :reported_suggested_fee_dollars
remove_column "donations", :reported_suggested_fee_cents
end
end