在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

+0

你知道为什么它转换应转换为耙子任务吗? – echan00