Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-19 14:01:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-19 14:01:45 +0300
commit9297025d0b7ddf095eb618dfaaab2ff8f2018d8b (patch)
tree865198c01d1824a9b098127baa3ab980c9cd2c06 /db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb
parent6372471f43ee03c05a7c1f8b0c6ac6b8a7431dbe (diff)
Add latest changes from gitlab-org/gitlab@16-7-stable-eev16.7.0-rc42
Diffstat (limited to 'db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb')
-rw-r--r--db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb b/db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb
new file mode 100644
index 00000000000..548a85b8814
--- /dev/null
+++ b/db/post_migrate/20231127185328_fix_broken_user_achievements_revoked.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class FixBrokenUserAchievementsRevoked < Gitlab::Database::Migration[2.2]
+ disable_ddl_transaction!
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ milestone '16.7'
+
+ class User < MigrationRecord
+ self.table_name = 'users'
+ end
+
+ def up
+ User.reset_column_information
+
+ ghost_id = User.where(user_type: 5).first&.id
+
+ return unless ghost_id
+
+ update_column_in_batches(:user_achievements, :revoked_by_user_id, ghost_id) do |table, query|
+ query.where(table[:revoked_at].not_eq(nil)).where(table[:revoked_by_user_id].eq(nil))
+ end
+ end
+
+ def down
+ # noop -- this is a data migration and can't be reversed
+ end
+end