yml2213
3d5d0f551f
fix(automation): 去掉 MySQL 不认的 NULLS FIRST,排序改用可移植写法
生产 MySQL 上手动跑第一轮就报 1064:
You have an error in your SQL syntax ... near 'NULLS FIRST, login_tasks.id ASC'
NULLS FIRST 是 PostgreSQL/SQLite 语法,MySQL 不支持。本地测试全绿是因为跑在
SQLite 上(它认识这个语法),属于方言差异漏网 —— 生产是 MySQL、测试是 SQLite,
行为测试覆盖不到这类问题。
改成 `ck_checked_at IS NULL DESC, ck_checked_at ASC, id ASC`:三个方言下语义
一致(没检测过的优先)且都是合法 SQL。顺带把选行查询抽成 build_select_query,
便于按方言编译做回归。
新增回归测试:用 MySQL 方言 compile() 选行 SQL,断言不含 NULLS FIRST/LAST,
且「没检测过优先」用可移植写法表达。
规划附录 C.2 记下这条:写 SQL 前先确认方言;P0 连的是 order_site 的 PostgreSQL,
项目里已经出现 MySQL / SQLite / PG 三套方言。
2026-10-02 20:14:49 +08:00
..
2026-08-31 10:28:14 +08:00
2026-09-12 14:52:26 +08:00
2026-10-02 20:14:49 +08:00
2026-08-31 10:28:14 +08:00
2026-10-01 18:29:49 +08:00
2026-09-29 15:02:53 +08:00
2026-10-01 18:18:02 +08:00
2026-08-31 10:28:14 +08:00
2026-08-31 10:28:14 +08:00
2026-10-01 19:08:25 +08:00
2026-10-01 18:42:56 +08:00
2026-08-31 10:28:14 +08:00
2026-08-31 10:28:14 +08:00
2026-08-31 10:28:14 +08:00
2026-08-31 10:28:14 +08:00
2026-09-10 11:31:50 +08:00
2026-08-31 10:28:14 +08:00
2026-08-31 10:28:14 +08:00
2026-09-05 19:25:46 +08:00
2026-09-10 11:31:50 +08:00
2026-09-11 10:31:46 +08:00
2026-09-02 16:59:46 +08:00
2026-09-06 13:02:37 +08:00
2026-09-10 11:31:50 +08:00
2026-08-30 23:05:20 +08:00
2026-09-02 18:11:41 +08:00
2026-09-06 13:56:44 +08:00
2026-09-05 19:25:46 +08:00
2026-09-10 11:32:29 +08:00
2026-09-06 14:00:24 +08:00
2026-09-06 13:56:44 +08:00
2026-09-02 18:11:41 +08:00
2026-09-05 19:25:46 +08:00
2026-08-31 10:55:44 +08:00
2026-10-01 18:29:49 +08:00
2026-10-01 18:29:49 +08:00
2026-10-02 19:47:41 +08:00
2026-08-30 20:21:14 +08:00