【问题标题】:How to execute a Rails "Rake Task"如何执行 Rails 的“Rake 任务”
【发布时间】:2013-06-17 13:25:42
【问题描述】:

怎么了?

我的朋友创建了一个 rake 任务来更新我们在数据库中的数据(因为我们有 db 更改)。 以下是任务:

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 任务的命令是什么,我在任何地方都找不到。

我的问题是:

  1. 执行rake任务的命令是什么?
  2. 在heroku 上执行rake 任务的命令是什么?只是“heroku run”?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 rake task


    【解决方案1】:
    heroku run bundle exec rake db:update_database
    

    应该这样做。

    bundle exec 确保脚本在当前包的上下文中运行。

    【讨论】:

      猜你喜欢
      • 2011-08-04
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多