未知属性:更新rails 3.2.11后具有delayed_job的队列

时间:2013-01-22 10:40:01

标签: ruby-on-rails-3.2 delayed-job

全部在标题中。 在安全警告之后,我将rails 3.2.3更新为3.2.11 一切都好,但我意识到延迟的作业不再发送错误“unknown attribute:queue”

我尝试重新创建更新迁移:rails generate delayed_job:upgrade 但它告诉我已经存在。

2 个答案:

答案 0 :(得分:5)

运行rake db:migrate

rails generate delayed_job:upgrade生成了迁移,但在实际运行迁移之前,您的数据库不会被修改。

希望有所帮助!

答案 1 :(得分:1)

替代@ brettish的回答,你可以自己做(我写这个是因为,我遇到了同样的问题而delayed_job:upgrade生成器对我来说是未定义的。)

在版本3中,添加了queue属性。

您可以按照以下步骤操作:

创建迁移 rails generate migration AddQueueToDelayedJobs

queue添加到delayed_jobs表,如下所示:

class AddQueueToDelayedJobs < ActiveRecord::Migration[5.1]
  def self.up
    add_column :delayed_jobs, :queue, :string
  end
  def self.down
    remove_column :delayed_jobs, :queue
  end
end

注意:我使用的是rails 5.1。

希望它有所帮助!