0
t.stringからt.datetimeに列(時間と呼ばれる)を変更した後、データベースを削除して再作成して移行を実行しました。Rails 3で列をdatetimeに変更した後にRakeスクリプトが機能しない
リモートWebサイトから情報をスクラップし、その情報を文字列ではなく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