Project

General

Profile

« Previous | Next » 

Revision be6e6efc

Added by Dominic Cleal about 8 years ago

fixes #14076 - remove unused Puppetclass hostgroups counter

View differences:

app/models/hostgroup_class.rb
audited :associated_with => :hostgroup, :allow_mass_assignment => true
belongs_to :hostgroup
belongs_to :puppetclass, :counter_cache => :hostgroups_count
belongs_to :puppetclass
attr_accessible :hostgroup_id, :hostgroup, :puppetclass_id, :puppetclass
validates :hostgroup, :presence => true
db/migrate/20160307120453_remove_hostgroups_count_from_puppetclasses.rb
class RemoveHostgroupsCountFromPuppetclasses < ActiveRecord::Migration
def up
remove_column :puppetclasses, :hostgroups_count
end
def down
add_column :puppetclasses, :hostgroups_count, :integer, :default => 0
execute 'UPDATE puppetclasses SET hostgroups_count = (SELECT COUNT(*) FROM hostgroup_classes WHERE hostgroup_classes.puppetclass_id = puppetclasses.id)'
end
end
lib/tasks/fix_cached_counters.rake
el.update_attribute('total_hosts', Nic::Base.primary.where(:domain_id => el.id).count)
end
puts "Domains corrected"
Puppetclass.all.each{|el| Puppetclass.reset_counters(el.id, :hostgroup_classes, :lookup_keys)}
Puppetclass.all.each{|el| Puppetclass.reset_counters(el.id, :lookup_keys)}
puts "Puppetclass corrected"
Model.all.each{|el| Model.reset_counters(el.id, :hosts)}
puts "Model corrected"
test/unit/hostgroup_class_test.rb
end
end
end
test "should update hostgroups_count" do
pc = puppetclasses(:two)
assert_difference "pc.hostgroups_count" do
HostgroupClass.create(:puppetclass_id => pc.id, :hostgroup_id => hostgroups(:common).id)
pc.reload
end
end
end

Also available in: Unified diff