Revision be6e6efc
Added by Dominic Cleal about 8 years ago
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
fixes #14076 - remove unused Puppetclass hostgroups counter