Skip to Content Skip to Search
Methods
R

Class Public methods

run!()

# File lib/tasks/src/massage_custom_fields_data_inconsistencies_task.rb, line 3
def run!
  DB::CustomField.multiple.pluck(:id, :site_id).each do |(custom_field_id, site_id)|
    DB::Member
      .where(site_id: site_id)
      .where("custom_fields->>'#{custom_field_id}' IS NOT NULL")
      .find_each do |member|
        original = member.custom_fields[custom_field_id.to_s]
        next if original.is_a?(Array)

        custom_fields = member.custom_fields.merge(
          custom_field_id.to_s => original.split(",")
        )

        member.update(custom_fields: custom_fields)
      end
  end
end