From c6b72683b4b367cf61d0784a6dec3d45758068a1 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Wed, 21 Jan 2009 14:16:39 -0800 Subject: [PATCH] Completed migration 9, creating new rates for each Member.rate #1924 --- .../009_convert_member_rate_to_full_rates.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/db/migrate/009_convert_member_rate_to_full_rates.rb b/db/migrate/009_convert_member_rate_to_full_rates.rb index 9a6e3f2..ed3589e 100644 --- a/db/migrate/009_convert_member_rate_to_full_rates.rb +++ b/db/migrate/009_convert_member_rate_to_full_rates.rb @@ -6,13 +6,31 @@ rescue LoadError raise Exception.new(RateMigrationErrorMessage) end +require_dependency 'user' +require_dependency 'member' + class ConvertMemberRateToFullRates < ActiveRecord::Migration def self.up self.check_that_rate_plugin_is_installed + + # Add a new Rate object for each Member + Member.find(:all, :conditions => ['rate IS NOT NULL']).each do |member| + say_with_time "Converting rate for #{member.user.to_s} - #{member.project.to_s}" do + rate = Rate.new({ + :user => member.user, + :amount => member.rate, + :project => member.project, + :date_in_effect => member.created_on + }) + rate.save! + end + end + end def self.down self.check_that_rate_plugin_is_installed + raise ActiveRecord::IrreversibleMigration, "Can't move rates back onto the Members" end def self.check_that_rate_plugin_is_installed