diff --git a/app/services/users/migrate_to_ghost_user_service.rb b/app/services/users/migrate_to_ghost_user_service.rb index e7186fdfb6384acadc6a0cc35a30fd7fae443e82..8edd72bf2ca4f2861f288a5d2cee367f498ea10a 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 0000000000000000000000000000000000000000..052dea3e12755841dad66291218e65b95b4e47ff --- /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 40206775aedaad888abb2b928e9b2f22afe5d8d7..253a62ccc883996b1b44e1c1c0ada5cae3415a9b 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