Add external_pull_request to existing_object_relations
What does this MR do?
When project.json has ci_pipelines->external_pull_request
and external_pull_requests
, import will throw error
#<ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_external_pull_requests_on_project_and_branches"
DETAIL: Key (project_id, source_branch, target_branch)=(1, feature, master) already exists.
This is because of: when process_relation!
process ci_pipelines
, it saves ci_pipelines->external_pull_request
in DB already. Later when process_relation!
process external_pull_requests
, it tries to save the same external_pull_request
into DB.
We should handle external_pull_requests
in the same way as labels
and milestones
, where it should find_or_create_object!
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Closes #208128 (closed)
Edited by Qingyu Zhao