Improve readability of build stage id migration query
This commit is contained in:
parent
c7f6e5efb5
commit
6db8253cb8
|
@ -5,12 +5,13 @@ module Gitlab
|
|||
raise ArgumentError unless id.present?
|
||||
|
||||
sql = <<-SQL.strip_heredoc
|
||||
UPDATE "ci_builds" SET "stage_id" = (
|
||||
SELECT id FROM ci_stages
|
||||
WHERE ci_stages.pipeline_id = ci_builds.commit_id
|
||||
AND ci_stages.name = ci_builds.stage
|
||||
)
|
||||
WHERE "ci_builds"."id" = #{id} AND "ci_builds"."stage_id" IS NULL
|
||||
UPDATE "ci_builds"
|
||||
SET "stage_id" =
|
||||
(SELECT id FROM ci_stages
|
||||
WHERE ci_stages.pipeline_id = ci_builds.commit_id
|
||||
AND ci_stages.name = ci_builds.stage)
|
||||
WHERE "ci_builds"."id" = #{id}
|
||||
AND "ci_builds"."stage_id" IS NULL
|
||||
SQL
|
||||
|
||||
ActiveRecord::Base.connection.execute(sql)
|
||||
|
|
|
@ -58,11 +58,11 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
|
|||
|
||||
it 'schedules background migrations' do
|
||||
Sidekiq::Testing.inline! do
|
||||
expect(jobs.where(stage_id: nil)).to be_present
|
||||
expect(jobs.where(stage_id: nil).count).to eq 5
|
||||
|
||||
migrate!
|
||||
|
||||
expect(jobs.where(stage_id: nil)).to be_one
|
||||
expect(jobs.where(stage_id: nil).count).to eq 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue