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 |