save doesn't work in migration

I'm writing a migration to merge my first and last name fields into a
single name field. However, writing to the new name column doesn't
work within the migration. Why is this so?

def self.up
  add_column :users, :name, :string

  for user in User.all
    user.name = user.first_name + ' ' + user.last_name
    user.save! # <= name is not actually saved here.
  end

  remove_column :users, :first_name
  remove_column :users, :last_name
end

Never mind, after some Googling, found reset_column_info to be my
answer.