diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-06 15:44:19 +0100 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-06 16:12:34 +0100 |
commit | 944324f395897ccda7834a414a0b7e6ef3f0b1a3 (patch) | |
tree | 60eb405ccd82439ccaee718769778631c8651cd7 | |
parent | b393df7e9125714f047c8b769c98b600ab0aef35 (diff) | |
download | gitlab-ce-bvl-github-import-assignee-errors.tar.gz |
Ignore duplicates when importing issue assignees.bvl-github-import-assignee-errors
3 files changed, 10 insertions, 4 deletions
diff --git a/changelogs/unreleased/bvl-github-import-assignee-errors.yml b/changelogs/unreleased/bvl-github-import-assignee-errors.yml new file mode 100644 index 00000000000..37ed26c51bb --- /dev/null +++ b/changelogs/unreleased/bvl-github-import-assignee-errors.yml @@ -0,0 +1,5 @@ +--- +title: Fix errors when importing GitHub issues with multiple assignees +merge_request: 17568 +author: +type: fixed diff --git a/lib/gitlab/github_import/importer/issue_importer.rb b/lib/gitlab/github_import/importer/issue_importer.rb index 31fefebf787..9cbda2d169c 100644 --- a/lib/gitlab/github_import/importer/issue_importer.rb +++ b/lib/gitlab/github_import/importer/issue_importer.rb @@ -73,7 +73,7 @@ module Gitlab end end - Gitlab::Database.bulk_insert(IssueAssignee.table_name, assignees) + Gitlab::Database.bulk_insert(IssueAssignee.table_name, assignees, ignore_duplicates: true) end end end diff --git a/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb b/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb index d34ca0b76b8..8e7000df0d7 100644 --- a/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/issue_importer_spec.rb @@ -180,19 +180,20 @@ describe Gitlab::GithubImport::Importer::IssueImporter, :clean_gitlab_redis_cach allow(importer.user_finder) .to receive(:user_id_for) - .ordered.with(issue.assignees[0]) + .with(issue.assignees[0]) .and_return(4) allow(importer.user_finder) .to receive(:user_id_for) - .ordered.with(issue.assignees[1]) + .with(issue.assignees[1]) .and_return(5) expect(Gitlab::Database) .to receive(:bulk_insert) .with( IssueAssignee.table_name, - [{ issue_id: 1, user_id: 4 }, { issue_id: 1, user_id: 5 }] + [{ issue_id: 1, user_id: 4 }, { issue_id: 1, user_id: 5 }], + ignore_duplicates: true ) importer.create_assignees(1) |