在特定日期和时间更改数据库记录的值
问题描述:
我有一个带有日期时间列'过期'和字符串列'状态'的作业表。创建记录时,我将到期值设置为下周的日期,并在该日到达时,我想更改状态值。在特定日期和时间更改数据库记录的值
我在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。