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