【发布时间】:2017-01-02 08:59:55
【问题描述】:
假设我们有两个模型:
class Message < ActiveRecord::Base
belongs_to :user
has_many :statistics
end
class Statistic < ActiveRecord::Base
belongs_to :user
belongs_to :messages
end
Message 具有 :state 属性,并且必须根据 Statistic 计数(例如,delivered_at、read_at)进行更新。这意味着一旦消息被传递给组中的每个用户,状态就必须相应地更新。Statistics 时间戳在 sidekiq 作业中使用不调用回调 (update_all) 的查询进行更新,因此我无法连接到统计信息的“after_update”回调并更新 Message.state。
我尝试在统计表上更新触发器后使用 MySql 执行此操作,但没有运气,因为调用触发器的查询在连接中有目标表(消息)。
请指教。
希望我足够清楚。
谢谢。
【问题讨论】:
标签: mysql ruby-on-rails activerecord triggers