summaryrefslogtreecommitdiff
path: root/db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
diff options
context:
space:
mode:
authorAndreas Brandl <abrandl@gitlab.com>2018-03-20 15:50:07 +0100
committerAndreas Brandl <abrandl@gitlab.com>2018-03-20 18:44:00 +0100
commitc914883a2b350bb53313df3eb97e6e0064d9f655 (patch)
treedd180c3287f0899e7a4953c36d4bb8060ed5a144 /db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
parent1362d9fe1383a2fa2cca563435064e622ec8e043 (diff)
downloadgitlab-ce-c914883a2b350bb53313df3eb97e6e0064d9f655.tar.gz
Shortcut concurrent foreign key creation if already exists.ab-43887-concurrent-migration-helpers
Closes #43887.
Diffstat (limited to 'db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb')
-rw-r--r--db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb12
1 files changed, 2 insertions, 10 deletions
diff --git a/db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb b/db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
index c25d4fd5986..c409915ceed 100644
--- a/db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
+++ b/db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
@@ -23,23 +23,15 @@ class AddForeignKeyToMergeRequests < ActiveRecord::Migration
merge_requests.update_all(head_pipeline_id: nil)
end
- unless foreign_key_exists?(:merge_requests, :head_pipeline_id)
+ unless foreign_key_exists?(:merge_requests, column: :head_pipeline_id)
add_concurrent_foreign_key(:merge_requests, :ci_pipelines,
column: :head_pipeline_id, on_delete: :nullify)
end
end
def down
- if foreign_key_exists?(:merge_requests, :head_pipeline_id)
+ if foreign_key_exists?(:merge_requests, column: :head_pipeline_id)
remove_foreign_key(:merge_requests, column: :head_pipeline_id)
end
end
-
- private
-
- def foreign_key_exists?(table, column)
- foreign_keys(table).any? do |key|
- key.options[:column] == column.to_s
- end
- end
end