Skip to content
Snippets Groups Projects
Commit 792e9ed7 authored by Douwe Maan's avatar Douwe Maan
Browse files

Merge branch 'background-migration-fix' into 'master'

Reduce UPDATEs for background column type changes

Closes #42158

See merge request gitlab-org/gitlab-ce!16551
parents 7b0872c7 0054d383
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -28,6 +28,8 @@ module Gitlab
UPDATE #{quoted_table}
SET #{quoted_copy_to} = #{quoted_copy_from}
WHERE id BETWEEN #{start_id} AND #{end_id}
AND #{quoted_copy_from} IS NOT NULL
AND #{quoted_copy_to} IS NULL
SQL
end
 
Loading
Loading
Loading
Loading
@@ -525,8 +525,9 @@ module Gitlab
install_rename_triggers(table, column, temp_column)
 
# Schedule the jobs that will copy the data from the old column to the
# new one.
relation.each_batch(of: batch_size) do |batch, index|
# new one. Rows with NULL values in our source column are skipped since
# the target column is already NULL at this point.
relation.where.not(column => nil).each_batch(of: batch_size) do |batch, index|
start_id, end_id = batch.pluck('MIN(id), MAX(id)').first
max_index = index
 
Loading
Loading
Loading
Loading
@@ -1038,7 +1038,7 @@ describe Gitlab::Database::MigrationHelpers do
end
 
describe '#change_column_type_using_background_migration' do
let!(:issue) { create(:issue) }
let!(:issue) { create(:issue, :closed, closed_at: Time.zone.now) }
 
let(:issue_model) do
Class.new(ActiveRecord::Base) do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment