Rails 3.1: no se puede escribir en la columna en la misma migración que lo agrega

Tuve una migración add_column que funcionaría bien. Sin embargo, después de ejecutarlo y encender una consola, las columnas first_name y last_name están completamente vacías. Intenté usarsave! en su lugar y tuvo el mismo efecto: no se informaron errores. Aquí está el original:

class UserAddFirstNameAndLastName < ActiveRecord::Migration
  def change
    # add column first name, last name string
    add_column :users, :first_name, :string
    add_column :users, :last_name, :string

    User.all.each do |u|
      u.first_name = 'first name'
      u.last_name = 'last name'
      u.save
    end
  end
end

También pensé que esto podría ser un problema de carga de clase, así que inserté la líneaUser para forzar a la clase de usuario a recargar antes del ciclo. No dados

Cuando dividí esto en dos migraciones, se logró el efecto deseado. ¿Alguien tiene una explicación para esto? Juro que incluso hice esto en el mismo proyecto con migraciones pasadas.

Otras notas: Diseñe para el motor de usuario, agregue las nuevas columnas aattr_accessible en la clase de usuario antes de ejecutar la migración.

Respuestas a la pregunta(2)

Su respuesta a la pregunta