2016-11-18 53 views
0

我試圖運行rake db命令:使用sidekiq worker遷移,但它好像只是不會工作,我很好奇是否有辦法做到這一點或者不。我使用sidekiq創造一個支架,但不能進行遷移之後如何運行rake db:使用sidekiq遷移

這工作

class ScaffoldGeneratorWorker 
    include Sidekiq::Worker 

    def perform(id) 
     `rails g scaffold test_#{id} title:string body:text slug:string visible:boolean` 
    end 
end 

但我不能得到這個事後運行和工作

class DatabaseMigrationWorker 
    include Sidekiq::Worker 

    def perform 
    `rake db:migrate` 
    end 
end 

這是可能的,如果是這樣,我怎樣才能使它工作。任何幫助是極大的讚賞。

回答

4

首先可能重複你應該載入耙任務,然後調用:

class DatabaseMigrationWorker 
    include Sidekiq::Worker 

    def perform 
    Name_Of_Your_App::Application.load_tasks 
    Rake::Task['db:migrate'].invoke 
    end 
end 
在工人文件
+0

在工人文件? –

+0

@RockwellRice是的,這應該是在工人。 –