OJ2 上线到时区修复之间,成就的小时键按 UTC 判定:UTC 的 0–5 点 / 5–7 点是北京 的上午 9–13 点 / 下午 1–3 点,上课时间的提交被记成熬夜和早起。Django 时代的存量 本来就是东八区口径(已用生产备份做判别性核对),出问题的只有这两周的增量。 脚本按东八区重算两个小时指标(只合并这两个键,不整体覆盖 metrics)→ 撤回不达标 的 → 补发达标却没发的 → 同步 unlock_count → 校正已解锁数与「奖杯收藏家」连锁。 默认只读预演,--apply 落库后自动复核,幂等。 用 db_backup_2026_09_14_18_17_37.sql 实跑:修正 148 行、撤回 60 条(47 + 13, 50 人)、补发 0、连锁 0,其余指标 0 行被动。必须先部署时区修复再跑。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1d8B3f4SXJwDvUY625eQd
46 lines
1.5 KiB
JSON
46 lines
1.5 KiB
JSON
{
|
|
"name": "@oj2/api",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "bun run --parallel dev:http dev:worker",
|
|
"dev:http": "bun --watch src/main.ts serve",
|
|
"dev:worker": "bun --watch src/main.ts worker",
|
|
"start": "bun src/main.ts serve",
|
|
"worker": "bun src/main.ts worker",
|
|
"build": "bun build --compile --target=bun-linux-x64 src/main.ts --outfile ../../dist/oj2-api",
|
|
"seed:dev": "bun src/scripts/seed-dev.ts",
|
|
"backfill:problemsets": "bun src/main.ts backfill-problemsets",
|
|
"fix:achievement-hours": "bun src/main.ts fix-achievement-hours",
|
|
"typecheck": "tsc --noEmit",
|
|
"check:routes": "bun src/scripts/check-route-shadowing.ts",
|
|
"check:ast": "bun src/scripts/check-ast-targets.ts",
|
|
"db:pull": "drizzle-kit pull",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate"
|
|
},
|
|
"dependencies": {
|
|
"@node-rs/jieba": "^2.0.2",
|
|
"@node-rs/jieba-linux-x64-gnu": "2.0.2",
|
|
"@oj2/contract": "workspace:*",
|
|
"bullmq": "^6.2.2",
|
|
"drizzle-orm": "^0.45.2",
|
|
"fflate": "^0.8.3",
|
|
"hono": "^4.13.4",
|
|
"ioredis": "^6.0.0",
|
|
"postgres": "^3.4.9",
|
|
"sql.js": "^1.14.2",
|
|
"tree-sitter-c": "^0.24.1",
|
|
"tree-sitter-cpp": "^0.23.4",
|
|
"tree-sitter-python": "^0.25.0",
|
|
"web-tree-sitter": "^0.26.13",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@types/sql.js": "^1.4.11",
|
|
"drizzle-kit": "^0.31.10",
|
|
"typescript": "^7.0.2"
|
|
}
|
|
}
|