diff options
-rw-r--r-- | app/models/ci/build.rb | 2 | ||||
-rw-r--r-- | db/post_migrate/20181030111324_reset_project_metrics_artifact_total_size.rb | 22 |
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 |