Thanks Frederic and Duncan,
FYI: here's the complete migration for the simple test case that adds
a counter_cache AND sets the value.
class AddCounterCacheToLearners < ActiveRecord::Migration
class Learner < ActiveRecord::Base
has_many :learner_sessions
def reset_column_information
# re-implement reset_column_information functionality here
generated_methods.each { |name| undef_method(name) }
@column_names = @columns = @columns_hash = @content_columns =
@dynamic_methods_hash = @generated_methods = @inheritance_column = nil
end
end
def self.up
add_column :learners, :learner_sessions_count, :integer, :default => 0
Learner.reset_column_information
Learner.find(:all).each do |learner|
count = learner.learner_sessions.count
learner.update_attribute(:learner_sessions_count, count)
end
end
def self.down
remove_column :learners, :learner_sessions_count
end
end
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---