Если ваша таблица называется some_table
, то вы можете поместить ее в метод up
класса миграции:
execute 'UPDATE some_table SET updated_at = last_modifed'
MySQL должен иметь возможность автоматически конвертировать из datetime
в timestamp
. В предложении SQL SET столбцы относятся только к одной строке, а SET применяется ко всем сопоставленным строкам; без предложения WHERE UPDATE применяется ко всем строкам таблицы. Помните, что SQL основан на множествах, поэтому все работает с наборами строк, и циклы на самом деле не соответствуют модели.
Я предполагаю, что вы используете ActiveRecord, поскольку у вас есть временная метка с именем updated_at
. Если вы не используете ActiveRecord, вам нужно будет найти другой способ отправки SQL UPDATE в базу данных.