Я думаю, что это должно быть обработано в сценарии миграции, а не в задаче Rake.
Если я правильно понимаю, это нужно будет выполнить только один раз, когда столбец добавляется в исторические записи. На мой взгляд, скрипт миграции не должен оставлять приложение с поврежденным набором данных. Миграции предназначены не только для изменения схемы.
Вот пример:
def self.up
change_table :projects do |t|
t.integer 'new_column'
end
Project.reset_column_information
Project.all.each do |project|
project.new_column = some_value
project.save
end
end
Метод reset_column_information позволяет Rails узнать о новом столбце, который вы только что добавили.