То, что вы пытаетесь сделать, возможно, и я бы сказал, что нужно сделать.
Однако вам необходимо перезагрузить информацию о столбцах для классов моделей, которые вы обновляете в процессе миграции, чтобы Rails знал о новых столбцах. Попробуйте это:
def.self up
add_column :users, :age_text, :string
User.reset_column_information
users = User.find(:all)
users.each do |u|
u.age_text = convert_to_text(u.age)
u.save
end
end
В отдельном примечании, пожалуйста, обратите внимание, что если ваша таблица велика, обновление одного за другим займет много времени .. Будьте осторожны с этим.