From 31bd4f640eab2600b9294c3c0c22df10e5a71f5d Mon Sep 17 00:00:00 2001 From: George Thomas Date: Sun, 5 Apr 2020 18:48:52 +0530 Subject: [PATCH] Migrate project snippets to the ghost user when the user is deleted Closes #205772 --- app/services/users/migrate_to_ghost_user_service.rb | 5 +++++ .../205772-migrate-project-snippets-ghost-user.yml | 5 +++++ spec/services/users/migrate_to_ghost_user_service_spec.rb | 6 ++++++ 3 files changed, 16 insertions(+) create mode 100644 ee/changelogs/unreleased/205772-migrate-project-snippets-ghost-user.yml diff --git a/app/services/users/migrate_to_ghost_user_service.rb b/app/services/users/migrate_to_ghost_user_service.rb index e7186fdfb6384a..8edd72bf2ca4f2 100644 --- a/app/services/users/migrate_to_ghost_user_service.rb +++ b/app/services/users/migrate_to_ghost_user_service.rb @@ -52,6 +52,7 @@ def migrate_records migrate_notes migrate_abuse_reports migrate_award_emoji + migrate_snippets end # rubocop: disable CodeReuse/ActiveRecord @@ -79,6 +80,10 @@ def migrate_abuse_reports def migrate_award_emoji user.award_emoji.update_all(user_id: ghost_user.id) end + + def migrate_snippets + user.snippets.update_all(author_id: ghost_user.id) + end end end diff --git a/ee/changelogs/unreleased/205772-migrate-project-snippets-ghost-user.yml b/ee/changelogs/unreleased/205772-migrate-project-snippets-ghost-user.yml new file mode 100644 index 00000000000000..052dea3e127558 --- /dev/null +++ b/ee/changelogs/unreleased/205772-migrate-project-snippets-ghost-user.yml @@ -0,0 +1,5 @@ +--- +title: Migrate project snippets to the ghost user when the user is deleted +merge_request: 28869 +author: George Thomas @thegeorgeous +type: added diff --git a/spec/services/users/migrate_to_ghost_user_service_spec.rb b/spec/services/users/migrate_to_ghost_user_service_spec.rb index 40206775aedaad..253a62ccc88399 100644 --- a/spec/services/users/migrate_to_ghost_user_service_spec.rb +++ b/spec/services/users/migrate_to_ghost_user_service_spec.rb @@ -76,6 +76,12 @@ end end end + + context 'snippets' do + include_examples "migrating a deleted user's associated records to the ghost user", Snippet do + let(:created_record) { create(:snippet, project: project, author: user) } + end + end end context "when record migration fails with a rollback exception" do -- GitLab