debian-mirror-gitlab/db/post_migrate/20230221214519_remove_incorrectly_onboarded_namespaces_from_onboarding_progress.rb
2023-05-27 22:25:52 +05:30

30 lines
770 B
Ruby

# frozen_string_literal: true
class RemoveIncorrectlyOnboardedNamespacesFromOnboardingProgress < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
restrict_gitlab_migration gitlab_schema: :gitlab_main
class OnboardingProgress < MigrationRecord
include EachBatch
self.table_name = 'onboarding_progresses'
end
class Project < MigrationRecord
self.table_name = 'projects'
end
def up
names = ['Learn GitLab', 'Learn GitLab - Ultimate trial']
OnboardingProgress.each_batch(of: 500) do |batch|
namespaces_to_keep = Project.where(name: names, namespace_id: batch.select(:namespace_id)).select(:namespace_id)
batch.where.not(namespace_id: namespaces_to_keep).delete_all
end
end
def down
# no op
end
end