# frozen_string_literal: true # rubocop:disable Style/Documentation module Gitlab module BackgroundMigration class DigestColumn class PersonalAccessToken < ActiveRecord::Base self.table_name = 'personal_access_tokens' end def perform(model, attribute_from, attribute_to, start_id, stop_id) model = model.constantize if model.is_a?(String) model.transaction do relation = model.where(id: start_id..stop_id).where.not(attribute_from => nil).lock relation.each do |instance| instance.update_columns(attribute_to => Gitlab::CryptoHelper.sha256(instance.read_attribute(attribute_from)), attribute_from => nil) end end end end end end