diff options
author | Jarka Kadlecova <jarka@gitlab.com> | 2017-08-01 08:46:43 +0200 |
---|---|---|
committer | Jarka Kadlecova <jarka@gitlab.com> | 2017-08-07 20:52:08 +0200 |
commit | 0f9bde41fc5d51ef227021444e2185fb5e5162f1 (patch) | |
tree | 0d1f5959c3464aff053751f99f11bf2319d5ce7a /db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb | |
parent | 28299de189c4c1e9c900d68f98ecfac993cb0aed (diff) | |
download | gitlab-ce-0f9bde41fc5d51ef227021444e2185fb5e5162f1.tar.gz |
Store & use ConvDev percentages returned by Version app35761-convdev-perc
Diffstat (limited to 'db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb')
-rw-r--r-- | db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb b/db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb new file mode 100644 index 00000000000..9af76c94bf3 --- /dev/null +++ b/db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb @@ -0,0 +1,30 @@ +class CalculateConvDevIndexPercentages < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + DOWNTIME = false + + class ConversationalDevelopmentIndexMetric < ActiveRecord::Base + self.table_name = 'conversational_development_index_metrics' + + METRICS = %w[boards ci_pipelines deployments environments issues merge_requests milestones notes + projects_prometheus_active service_desk_issues] + end + + def up + ConversationalDevelopmentIndexMetric.find_each do |conv_dev_index| + update = [] + + ConversationalDevelopmentIndexMetric::METRICS.each do |metric| + instance_score = conv_dev_index["instance_#{metric}"].to_f + leader_score = conv_dev_index["leader_#{metric}"].to_f + + percentage = leader_score.zero? ? 0.0 : (instance_score / leader_score) * 100 + update << "percentage_#{metric} = '#{percentage}'" + end + + execute("UPDATE conversational_development_index_metrics SET #{update.join(',')} WHERE id = #{conv_dev_index.id}") + end + end + + def down + end +end |