Commit 333720e2d55d08095f4e655d01541624ba6ac8cf
1 parent
7591c28b
Exists in
organization_rating_style_changes
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>
Showing
2 changed files
with
32 additions
and
0 deletions
Show diff stats
src/noosfero-spb/software_communities/db/migrate/20151116134125_add_statistics_to_software_info.rb
0 → 100644
| @@ -0,0 +1,11 @@ | @@ -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 @@ | @@ -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 |