【问题标题】:Sidekiq does not see changes in database tableSidekiq 没有看到数据库表的变化
【发布时间】:2021-06-25 21:02:27
【问题描述】:

版本: ruby 2.5.5p157(2019-03-15 修订版 67260)[x86_64-linux] 导轨 5.1.7 sidekiq 6.0(宝石)

在我的应用程序中,我可以添加一个字符串列,并将此列添加到用于将一个参数分配给现有表的数据库表中。我使用 ActiveRecord::Migration add_column 添加列。

确实添加了该列,但是当我运行 Sidekiq 作业时,它抱怨缺少这个新列: ActiveModel::UnknownAttributeError: BookingItem 的未知属性“visma_id”。

重启 Sidekiq 没有帮助。

这不会发生在开发中,只会发生在生产中。

有什么建议吗?

【问题讨论】:

    标签: mysql ruby-on-rails ruby redis sidekiq


    【解决方案1】:

    首先,验证您是否已在生产环境中正确迁移

    rake db:migrate RAILS_ENV=production

    如果这不起作用,我怀疑如果发生这种类型的错误,sidekiq 没有正确关闭,您需要正确验证 sidekiq 是否没有运行,您可以通过

    ps aux | grep sidekiq
    

    并使用前面命令的kill -9 listed ids 杀死所有相关的PID,也可以使用htop 命令查看sidekiq 在列出的进程中运行了多少时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-31
      • 2011-10-23
      • 1970-01-01
      • 2021-08-16
      • 2018-02-17
      相关资源
      最近更新 更多