adicione uma coluna do banco de dados com a migração do Rails e preencha-a com base em outra coluna

Estou escrevendo uma migração para adicionar uma coluna a uma tabela. O valor da coluna depende do valor de mais duas colunas existentes. Qual é a melhor maneira / mais rápida de fazer isso? Atualmente eu tenho isso, mas não tenho certeza se é a melhor maneira desde que a tabela de grupos pode ser muito grande.

class AddColorToGroup < ActiveRecord::Migration
  def self.up
    add_column :groups, :color, :string
    Groups = Group.all.each do |g|
      c = "red" if g.is_active && is_live 
      c = "green" if g.is_active
      c = "orange"
      g.update_attribute(:type, c)
    end
  end

  def self.down

  end
end

questionAnswers(4)

yourAnswerToTheQuestion