Project

General

Profile

« Previous | Next » 

Revision 9e0d8a4e

Added by Stephen Benjamin about 10 years ago

fixes #4703 - reset_counters doesn't work for has_many :through relationships on rails 3.2.8

View differences:

db/migrate/20140314004243_add_counter_caches.rb
# Puppetclasses
add_column :puppetclasses, :hosts_count, :integer, :default => 0
add_column :puppetclasses, :hostgroups_count, :integer, :default => 0
Puppetclass.all.each do |p|
Puppetclass.reset_counters(p.id, :hosts)
Puppetclass.reset_counters(p.id, :hostgroups)
# On Rails 3.2.8, reset_counters doesn't work correctly for has_many :through
# Seems to be something like https://github.com/rails/rails/issues/4293.
# So set the intial counters with increment_counter instead:
HostClass.all.each do |hc|
Puppetclass.increment_counter(:hosts_count, hc.puppetclass_id)
end
HostgroupClass.all.each do |hgc|
Puppetclass.increment_counter(:hostgroups_count, hgc.puppetclass_id)
end
add_column :puppetclasses, :lookup_keys_count, :integer, :default => 0

Also available in: Unified diff