[英]How to execute a Rails “Rake Task”
这是怎么回事?
我的朋友创建了一个rake任务来更新数据库中的数据(因为我们有数据库更改)。 以下是任务:
namespace :db do
task :update_database => :environment do
puts "Update do banco"
posts = Post.where("source_id is null").order("id")
done = Array.new
posts.each do |post|
if post.source_id.nil? and !done.include?(post)
posts2 = Post.where("content LIKE ? AND id != ?", post.content, post.id)
done.concat(posts2)
posts2.each do |post2|
post2.source_id = post.id
post2.save
end
end
end
end
end
我已经在本地主机中执行了此rake任务,但是我将项目部署到了heroku,现在我的项目将无法在线打开。 我不记得执行rake任务的命令是什么,我在任何地方都找不到。
我的问题是:
谢谢!
heroku run bundle exec rake db:update_database
应该做。
bundle exec
确保脚本在当前bundle的上下文中运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.