Commit 333720e2d55d08095f4e655d01541624ba6ac8cf

Authored by Tallys Martins
1 parent 7591c28b

Move software statistics from blocks table to softwares table

Signed-off-by: Pedro de Lyra <pedrodelyra@gmail.com>
Signed-off-by: Tallys Martins <tallysmartins@yahoo.com.br>
src/noosfero-spb/software_communities/db/migrate/20151116134125_add_statistics_to_software_info.rb 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +class AddStatisticsToSoftwareInfo < ActiveRecord::Migration
  2 + def up
  3 + add_column :software_infos, :benefited_people, :integer, :default => 0
  4 + add_column :software_infos, :saved_resources, :decimal, :default => 0
  5 + end
  6 +
  7 + def down
  8 + remove_column :software_infos, :benefited_people
  9 + remove_column :software_infos, :saved_resources
  10 + end
  11 +end
... ...
src/noosfero-spb/software_communities/db/migrate/20151116140329_move_software_statistics_from_block_to_software_info.rb 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +class MoveSoftwareStatisticsFromBlockToSoftwareInfo < ActiveRecord::Migration
  2 + def up
  3 + SoftwareInfo.find_each do |software|
  4 + blocks = software.community.blocks
  5 + statistic_blocks = blocks.select { |b| b.type == "StatisticBlock" }
  6 + statistic_blocks.each do |a|
  7 + software.saved_resources += a.saved_resources
  8 + software.benefited_people += a.benefited_people
  9 + end
  10 + software.save
  11 + end
  12 + end
  13 +
  14 + def down
  15 + SoftwareInfo.find_each do |software|
  16 + software.saved_resources = 0
  17 + software.benefited_people = 0
  18 + software.save
  19 + end
  20 + end
  21 +end
... ...