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