summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-11-16 17:55:23 +0900
committerShinya Maeda <shinya@gitlab.com>2018-11-16 17:55:23 +0900
commite46d328ac8d3166b82bacbf329acd319177b952e (patch)
treebcf4912609749d77bdb2586c3dae9948946ccd6c
parent350fe00b0a78dbf36d668e658cd5a87530829b3e (diff)
downloadgitlab-ce-mr-pipelines.tar.gz
Use big serialmr-pipelines
-rw-r--r--app/services/ci/create_merge_request_pipelines_service.rb9
-rw-r--r--db/migrate/20181114155639_create_merge_request_pipelines_table.rb3
-rw-r--r--db/schema.rb3
3 files changed, 9 insertions, 6 deletions
diff --git a/app/services/ci/create_merge_request_pipelines_service.rb b/app/services/ci/create_merge_request_pipelines_service.rb
index 4b54139cc63..53a73dc9192 100644
--- a/app/services/ci/create_merge_request_pipelines_service.rb
+++ b/app/services/ci/create_merge_request_pipelines_service.rb
@@ -4,12 +4,17 @@ module Ci
class CreateMergeRequestPipelinesService < BaseService
def execute(source, **args, &block)
return unless Feature.enabled?(:ci_merge_request_pipelines, default_enabled: true)
+ raise ArgumentError, 'ref must be specified' unless params[:ref]
+
+ pipelines = []
find_merge_requests do |merge_request|
- Ci::CreatePipelineService
+ pipelines << Ci::CreatePipelineService
.new(merge_request.target_project, current_user, params)
- .execute(source, args, merge_request: merge_request, &block)
+ .execute(source, **args, merge_request: merge_request, &block)
end
+
+ pipelines
end
private
diff --git a/db/migrate/20181114155639_create_merge_request_pipelines_table.rb b/db/migrate/20181114155639_create_merge_request_pipelines_table.rb
index 68b49b70e27..fc40ff51e5e 100644
--- a/db/migrate/20181114155639_create_merge_request_pipelines_table.rb
+++ b/db/migrate/20181114155639_create_merge_request_pipelines_table.rb
@@ -2,13 +2,12 @@ class CreateMergeRequestPipelinesTable < ActiveRecord::Migration
DOWNTIME = false
def change
- create_table :merge_request_pipelines do |t|
+ create_table :merge_request_pipelines, id: :bigserial do |t|
t.references :merge_request, null: false, index: true, foreign_key: { on_delete: :cascade }
t.references :pipeline, null: false, index: true
t.foreign_key :ci_pipelines, column: :pipeline_id, on_delete: :cascade
t.datetime_with_timezone :created_at, null: false
- t.datetime_with_timezone :updated_at, null: false
end
end
end
diff --git a/db/schema.rb b/db/schema.rb
index b331ebdaadd..0f1249875d1 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1198,11 +1198,10 @@ ActiveRecord::Schema.define(version: 20181114155639) do
t.index ["pipeline_id"], name: "index_merge_request_metrics_on_pipeline_id", using: :btree
end
- create_table "merge_request_pipelines", force: :cascade do |t|
+ create_table "merge_request_pipelines", id: :bigserial, force: :cascade do |t|
t.integer "merge_request_id", null: false
t.integer "pipeline_id", null: false
t.datetime_with_timezone "created_at", null: false
- t.datetime_with_timezone "updated_at", null: false
t.index ["merge_request_id"], name: "index_merge_request_pipelines_on_merge_request_id", using: :btree
t.index ["pipeline_id"], name: "index_merge_request_pipelines_on_pipeline_id", using: :btree
end