Fügen Sie eine Datenbankspalte mit Rails-Migration hinzu und füllen Sie sie basierend auf einer anderen Spalte auf

Ich schreibe eine Migration, um einer Tabelle eine Spalte hinzuzufügen. Der Wert der Spalte hängt vom Wert von zwei weiteren vorhandenen Spalten ab. Was ist der beste / schnellste Weg, dies zu tun? Momentan bin ich mir aber nicht sicher, ob es der beste Weg ist, da die Gruppentabelle sehr groß sein kann.

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage