@@ -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
|
||||
|
||||
Reference in New Issue
Block a user