注:我已经发了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');