簡體   English   中英

如何執行Rails“ Rake Task”

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

我的問題是:

  1. 執行rake任務的命令是什么?
  2. 在heroku上執行rake任務的命令是什么? 只是“ heroku運行”?

謝謝!

heroku run bundle exec rake db:update_database

應該做。

bundle exec確保腳本在當前bundle的上下文中運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM