Добрый день!
Есть объект в rails, у которого есть свойство "время завершения" (например,
24.03.2016 в 13:00 (МСК+2)). Хранится оно сейчас как string.
Как правильно настроить миграцию для базы данных, чтобы изменить формат столбца на datetime и обработать все существующие записи в БД?
Вот до чего я дошел:
class ChangeQueryDateColumn < ActiveRecord::Migration
def up
change_column :pages, :query_date, :datetime
end
def down
change_column :pages, :query_date, :string
end
end
Это сама миграция. Но главный затык в том, как изменить существующие уже записи?
Написал для этого регулярку, но не понимаю куда ее вставить в миграции:
Page.find(:all).each do |page|
page.query_date = page.query_date.gsub(/\(.*/, '').to_datetime
page.save!
end
Подскажете, как это сделать правильно? Заранее спасибо за ответ.