Я только что изменил столбец (называемый временем) с t.string на t.datetime, а затем удалил и заново создал базу данных и запустил миграцию.
У меня есть сценарий, запускаемый каждую минуту, который извлекает информацию с удаленного веб-сайта, а затем добавляет информацию в новые записи, основываясь на столбце времени, который я настроил как дату-время, а не как строку.
# Add each row to a new call record
page = agent.page.search("table tbody tr").each do |row|
next if (!row.at('td'))
time, source, destination, duration = row.search('td').map{ |td| td.text.strip }
call = Call.find_or_create_by_time(time)
call.update_attributes({:time => time, :source => source, :destination => destination, :duration => duration})
end
Поскольку изменение временного столбца на целое, сценарий, похоже, вообще не импортирует какую-либо информацию. Я задавался вопросом, есть ли дополнительный шаг, который я должен сделать, чтобы сделать эту работу снова?
Моя схема выглядит так:
create_table "calls", :force => true do |t|
t.string "source"
t.string "duration"
t.datetime "time"
t.string "destination"
t.string "recording"
t.string "cost"
t.datetime "created_at"
t.datetime "updated_at"
end