Make retried to be nullable

This commit is contained in:
Kamil Trzcinski 2017-05-09 13:14:45 +02:00
parent f2a4420d66
commit f09dcbd9bd
No known key found for this signature in database
GPG key ID: 4505F5C7E12C6A5A
6 changed files with 8 additions and 14 deletions

View file

@ -31,7 +31,7 @@ class CommitStatus < ActiveRecord::Base
false, all_state_names - [:failed, :canceled, :manual]) false, all_state_names - [:failed, :canceled, :manual])
end end
scope :latest, -> { where(retried: false) } scope :latest, -> { where(retried: [false, nil]) }
scope :retried, -> { where(retried: true) } scope :retried, -> { where(retried: true) }
scope :ordered, -> { order(:name) } scope :ordered, -> { order(:name) }
scope :latest_ordered, -> { latest.ordered.includes(project: :namespace) } scope :latest_ordered, -> { latest.ordered.includes(project: :namespace) }

View file

@ -30,8 +30,8 @@ module Ci
Ci::Build.transaction do Ci::Build.transaction do
# mark all other builds of that name as retried # mark all other builds of that name as retried
build.pipeline.builds.where(name: build.name) build.pipeline.builds.latest
.where.not(retried: true) .where(name: build.name)
.update_all(retried: true) .update_all(retried: true)
project.builds.create!(Hash[attributes]) project.builds.create!(Hash[attributes])

View file

@ -3,13 +3,7 @@ class AddRetriedToCiBuild < ActiveRecord::Migration
DOWNTIME = false DOWNTIME = false
disable_ddl_transaction! def change
add_column(:ci_builds, :retried, :boolean)
def up
add_column_with_default(:ci_builds, :retried, :boolean, default: false)
end
def down
remove_column(:ci_builds, :retried)
end end
end end

View file

@ -20,7 +20,7 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration
is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)") is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)")
update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query| update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query|
query.where(table[:retried].eq(false)) query.where(table[:retried].eq(nil))
end end
end end

View file

@ -232,7 +232,7 @@ ActiveRecord::Schema.define(version: 20170504102911) do
t.integer "lock_version" t.integer "lock_version"
t.string "coverage_regex" t.string "coverage_regex"
t.integer "auto_canceled_by_id" t.integer "auto_canceled_by_id"
t.boolean "retried", default: false, null: false t.boolean "retried"
end end
add_index "ci_builds", ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at", using: :btree add_index "ci_builds", ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at", using: :btree