20160518174439_migrate_software_downloads_count_from_download_block_to_software.rb
585 Bytes
class MigrateSoftwareDownloadsCountFromDownloadBlockToSoftware < ActiveRecord::Migration
def up
SoftwareCommunitiesPlugin::SoftwareInfo.find_each do |software|
software.downloads_count = 0
blocks = SoftwareCommunitiesPlugin::DownloadBlock.joins(:box).where("boxes.owner_id = #{software.community_id}")
blocks.each do |b|
b.downloads.map{ |dl|
software.downloads_count += dl[:total_downloads] if dl.has_key? :total_downloads
}
end
software.save
end
end
def down
say "This migration can't be reverted"
end
end