summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-10-30 11:24:15 +0900
committerShinya Maeda <shinya@gitlab.com>2018-10-30 11:24:15 +0900
commit1d593f4d07ae0aaad719e6ca87e23880c7fd5cf1 (patch)
treec03307d02e7f052412defd7f38248687bfccc478
parentaf80955baaf0993aed07cae943391f7b57d9e3ae (diff)
downloadgitlab-ce-fix-negative-artifact-total-size.tar.gz
Fix negative artifact total sizefix-negative-artifact-total-size
-rw-r--r--app/models/ci/build.rb2
-rw-r--r--db/post_migrate/20181030111324_reset_project_metrics_artifact_total_size.rb22
2 files changed, 23 insertions, 1 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index cdfe8175a42..3d55d42ecaa 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -860,7 +860,7 @@ module Ci
end
def update_project_statistics_after_destroy
- update_project_statistics(-artifacts_size)
+ update_project_statistics(-read_attribute(:artifacts_size).to_i)
end
def update_project_statistics(difference)
diff --git a/db/post_migrate/20181030111324_reset_project_metrics_artifact_total_size.rb b/db/post_migrate/20181030111324_reset_project_metrics_artifact_total_size.rb
new file mode 100644
index 00000000000..f48e31b80db
--- /dev/null
+++ b/db/post_migrate/20181030111324_reset_project_metrics_artifact_total_size.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class ResetProjectMetricsArtifactTotalSize < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def up
+ ActiveRecord::Base.connection.execute <<~SQL
+ UPDATE project_statistics
+ SET build_artifacts_size=(
+ SELECT SUM(size)
+ FROM ci_job_artifacts
+ WHERE ci_job_artifacts.project_id = project_statistics.project_id
+ )
+ SQL
+ end
+
+ def down
+ # no-op
+ end
+end