Mysql Sailsjs表需要在不使用任何cron的情况下自动更新

Mysql Sailsjs表需要在不使用任何cron的情况下自动更新,mysql,node.js,sails.js,waterline,sails.io.js,Mysql,Node.js,Sails.js,Waterline,Sails.io.js,我使用的是SAILS JS和mysql适配器。我有一个名为User的模型,具有以下字段ID、用户名、电子邮件、活动状态和创建日期。 默认情况下,活动_状态设置为0。当创建日期+3天等于今天时,我想更新状态为1 请建议任何可能的方法。希望您可以使用MySQL的事件调度程序 通过以下方式激活它:SET GLOBAL event_scheduler=ON 创建事件语法: CREATE EVENT `event_name` ON SCHEDULE schedule [ON COMPLETION [NO

我使用的是SAILS JS和mysql适配器。我有一个名为User的模型,具有以下字段ID、用户名、电子邮件、活动状态和创建日期。

默认情况下,活动_状态设置为0。当创建日期+3天等于今天时,我想更新状态为1


请建议任何可能的方法。

希望您可以使用MySQL的事件调度程序

通过以下方式激活它:
SET GLOBAL event_scheduler=ON

创建事件语法:

CREATE EVENT `event_name` 
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE] 
[ENABLE | DISABLE | DISABLE ON SLAVE]
DO BEGIN
    -- event body
END;
可以为计划分配各种设置,例如:

  • 在特定日期/时间运行一次: 在“YYYY-MM-DD HH:MM.SS” e、 g.在“2011-06-01 02:00.00”
  • 在特定时间段过后运行一次: 当前时间戳+间隔n[小时|月|周|日|分钟] e、 g.当前时间戳+间隔1天
  • 永远按特定的时间间隔运行: 每n[小时|月|周|天|分钟] e、 g.每1天
  • 在特定时间段内以特定间隔运行: 每n[小时|月|周|天|分钟]开始日期结束日期 e、 g.每1天开始当前时间戳+间隔1周结束'2012-01-01 00:00.00'
例如:

SET GLOBAL event_scheduler = ON; -- enable event scheduler.
SELECT @@event_scheduler;  -- check whether event scheduler is ON/OFF
CREATE EVENT e_store_ts  -- create your event
    ON SCHEDULE
      EVERY 24 HOURS  -- run every 24 hours
    DO
      UPDATE myschema.users set active_status = 1
参考: