在特定日期和时间更改数据库记录的值

问题描述:

我有一个带有日期时间列'过期'和字符串列'状态'的作业表。创建记录时,我将到期值设置为下周的日期,并在该日到达时,我想更改状态值。在特定日期和时间更改数据库记录的值

我在Rails应用程序中使用SQLite。

您需要创建一个计划任务或cron作业,以便每天运行一次,以检查在指定日期过期的作业,并且如果找到任何作业,请更新其状态。

expired_jobs = Job.where('expiration < ?', DateTime.now).where.not(:status => 'Expired') 
expired_jobs.update_all(:status => 'Expired') if expired_jobs.present? 

您可能会喜欢whenever gem