30 lines
770 B
Ruby
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
|