在heroku控制台上运行数据脚本的最佳方法?
问题描述:
我想将postgresql数据从json列移动到同一个表内的不同列。在heroku控制台上运行数据脚本的最佳方法?
我该如何有效地做到这一点?我的heroku控制台在10-20分钟后死亡,我有100,000多条记录需要更新。
Ticket.where(payment_type: nil).find_each(batch_size: 1000) do |ticket|
ticket.update_attributes(payment_type: ticket.data['_embedded']['payments'][0]['_embedded']['name']) if ticket.data['_embedded']['payments'].present?
end
答
尝试将其转换为一个rake任务,然后使用:
heroku run:detached rake <yourtaskname>
约翰。
https://devcenter.heroku.com/articles/one-off-dynos#running-tasks-in-background
你知道为什么它转换应转换为耙子任务吗? – echan00