Rails 3.1: невозможно записать в столбец в той же миграции, которая его добавляет

У меня была миграция add_column, которая будет работать нормально. Однако после запуска и запуска консоли я обнаружил, что столбцы first_name и last_name были полностью пустыми. Я пытался с помощьюsave! вместо этого, и это имело тот же эффект - ошибок не сообщалось. Вот оригинал:

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

Я также подумал, что это может быть проблема загрузки классов, поэтому я вставил строкуUser заставить пользовательский класс перезагрузиться перед циклом. Нет кости.

Когда я разделил это на две миграции, желаемый эффект был достигнут. У кого-нибудь есть объяснение этому? Клянусь, я даже делал это в том же проекте с прошлыми миграциями.

Другие примечания: Разработка пользовательского движка, добавлены новые столбцы вattr_accessible в классе пользователя перед запуском миграции.

Ответы на вопрос(1)

Ваш ответ на вопрос