diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-11-06 12:36:13 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-11-06 12:36:13 +0000 |
commit | 1cf4aa023978cfb28e73058e66e7d16d864e6f5a (patch) | |
tree | 3b5ace6679df995a262956e6fe038bfaeca86e02 /db/post_migrate | |
parent | 4ff91723fcdb53f7eb1dddcc22c8b40472326010 (diff) | |
parent | b4ae55f4aadc6e9dc1d275f15e81f807b22d307b (diff) | |
download | gitlab-ce-1cf4aa023978cfb28e73058e66e7d16d864e6f5a.tar.gz |
Merge branch 'stateful_deployments' into 'master'
Change life cycle of `deployments` records in order to make it a stateful object
See merge request gitlab-org/gitlab-ce!22380
Diffstat (limited to 'db/post_migrate')
-rw-r--r-- | db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb b/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb new file mode 100644 index 00000000000..32b271c472a --- /dev/null +++ b/db/post_migrate/20181030135124_fill_empty_finished_at_in_deployments.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +class FillEmptyFinishedAtInDeployments < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + DEPLOYMENT_STATUS_SUCCESS = 2 # Equivalent to Deployment.statuses[:success] + + class Deployments < ActiveRecord::Base + self.table_name = 'deployments' + + include EachBatch + end + + def up + FillEmptyFinishedAtInDeployments::Deployments + .where('finished_at IS NULL') + .where('status = ?', DEPLOYMENT_STATUS_SUCCESS) + .each_batch(of: 10_000) do |relation| + relation.update_all('finished_at=created_at') + end + end + + def down + # no-op + end +end |