Конечно, у вас есть два варианта. 1) Вы можете написать код ActiveRecord в миграциях так же, как и в модели, например ::10000
class ChangeDomainName < ActiveRecord::Migration
def self.up
YourModel.update_all "url = REPLACE(url, 'www.old-domain-name.com', 'www.new-domain-name.com')"
end
def self.down
# ...
end
end
В этом сценарии следует помнить одну вещь: если вы меняете, например, Имена столбцов или типы в той же миграции до update_all
необходимо сделать YourModel.reset_column_information
после изменения таблицы и перед вызовом для нее методов ActiveRecord.
2) Вы можете использовать сырой SQL с методом execute:
def self.up
execute "UPDATE your_models SET url = REPLACE(url, 'www.old-domain-name.com', 'www.new-domain-name.com)"
end
Лично я предпочитаю первый метод.