基于日期的定时任务报错

注:我已经发了Github Issue,但是几天过去都没人理,所以在这重发。

* 描述问题

在启动基于日期字段的邮件提醒定时任务(提前 60 天)后,出现了一个 SQL 错误,系统无法继续运行。

* 运行环境

  • NocoBase 版本: v1.4.27
  • 数据库种类与版本: MySQL 8.2.0
  • 操作系统: Windows
  • 部署方式: create-nocobase-app
  • NodeJS 版本: v20.15.1

如何重现

启动一个基于日期字段的邮件提醒定时任务(提前 60 天)

预期行为

没有错误并且邮件按预定时间发送。

截图

日期字段:


定时任务:

日志

"Unknown column 'CAST(FLOOR(UNIX_TIMESTAMP(endDate)) AS SIGNED INTEGER)' in 'where clause'",
sql: "SELECT `id`, `createdAt`, `updatedAt`, `paymentDate`, `f_project`, `endDate`, `startDate`, `amount`, `createdById`, `updatedById` 
FROM `maintainContract` AS `maintainContract` 
WHERE (`maintainContract`.`endDate` < '2025-01-09 08:36:16.491' 
AND MOD(1736382316 - `CAST(FLOOR(UNIX_TIMESTAMP(endDate)) AS SIGNED INTEGER)`, 604800) < 600 
AND `maintainContract`.`endDate` >= '2025-01-09 08:25:16.492');

已修复:fix(plugin-workflow): fix tsfn for generating SQL by mytharcher · Pull Request #6128 · nocobase/nocobase · GitHub

1 Like