Block a user
[M-AI-02-11] GATE: AiJob 数据库 Expand 最终兼容性与迁移验收
GATE REPORT: M-AI-02 AiJob 数据库 Expand — 最终验收
最终结论:PASS ✅
一、Schema Gate ✅
[M-AI-02-10] 实现 Legacy 字段到 AiJob 新字段的 Shadow Write 与历史回填
开发完成评论
完成内容
1. Shadow Write(ai-analysis.repository.ts)
createJob(): 同步写入lifecycleStatus='queued'、triggerType='api'、`queueName='ai-interacti…
[M-AI-02-09] 将 Prisma 逻辑模型 AiAnalysisJob 重命名为 AiJob
开发完成评论
完成内容
- Prisma model
AiAnalysisJob→AiJob+@@map("AiAnalysisJob") - 所有 relation 类型更新:
AiAnalysisResult.job、AiJobSnapshot.job、`AiJobA…
[M-AI-02-08] 扩展 AiUsageLog 的 Job、尝试次数与凭据归属
开发完成评论
完成内容
- 新增 5 个字段:
jobId、attemptNo、credentialMode、errorCode、providerRequestId - FK
jobId → AiAnalysisJob.id,`ON DELETE SET…
[M-AI-02-07] 新增 Transactional Outbox 数据模型与仓储
开发完成评论
完成内容
- 新增
OutboxEvent模型(16 字段,独立基础设施表,无 FK 到业务表) dedupeKeyUNIQUE 防重复- 3 个索引:`(status,…
[M-AI-02-06] 新增 AiJobArtifact 产物关联模型
开发完成评论
完成内容
- 新增
AiJobArtifact模型(7 字段,多态引用artifactType+artifactId) - UNIQUE(
jobId,artifactType,artifactId) — 幂等保证 -…
[M-AI-02-05] 新增不可变 AiJobSnapshot 数据模型
开发完成评论
完成内容
- 新增
AiJobSnapshot数据模型(9 个字段) jobIdUNIQUE 约束(一个 Job 最多一个 Snapshot)- FK
ON DELETE CASCADE(Job…
[M-AI-02-04] Expand AiAnalysisJob 生命周期、执行与输出字段
开发完成评论
完成内容
- 新增 20 个字段:
lifecycleStatus、lockedBy、lockedAt、lockUntil、cancelRequestedAt、attemptCount、maxAttempts、timeoutMs、`cre…
[M-AI-02-03] Expand AiAnalysisJob 身份、路由与幂等字段
开发完成评论
完成内容
jobType扩展 VARCHAR(32) → VARCHAR(64)- 新增 10 个字段:
triggerType、queueName、priority、targetType、targetId、parentJobId…
[M-AI-02-02] 冻结 AiJob Expand Schema 与迁移契约
N3 修复:过渡期
N3 修复:过渡期 status 列已加入 Prisma 模型
修正
三处修改:
- §2.1 Prisma 草图:向后兼容字段区新增
status String? @db.VarChar(32),标注…
[M-AI-02-02] 冻结 AiJob Expand Schema 与迁移契约
N2 修复:"不 rename" 声明已精确化
修正
原声明「不 drop、不 rename、不重建」已修正为:
不 drop 列、不 rename 表名、不重建表。允许 2…
[M-AI-02-02] 冻结 AiJob Expand Schema 与迁移契约
N1 修复:状态映射
N1 修复:状态映射 processing → locked 已修正为 processing → running
修正内容
[M-AI-02-02] 冻结 AiJob Expand Schema 与迁移契约
开发完成评论
完成内容
- 冻结了统一
AiJobPrisma model 的完整 Schema(34 个字段),基于@@map("AiAnalysisJob")保持物理表名不变 - 逐字段定义了…
[M-AI-02-01] 审计现有 AI Job Schema、数据规模与兼容依赖
最终修正
1. AiUsageLog 成功率根因
审计文档已显式链接低成功率与 MiniMax 到期事实:
minimax-m2.759 次调用 100% 失败 ⟵ **MiniMax 2.7 API Key 已于…
[M-AI-02-01] 审计现有 AI Job Schema、数据规模与兼容依赖
N8+N9 修复
N8:审计脚本凭据已移除
scripts/query-audit-data.ts:3:硬编码DATABASE_URL已替换为 `process.env.DATABASE_URL
[M-AI-02-01] 审计现有 AI Job Schema、数据规模与兼容依赖
N7 修复:N7 已解决 — completedAt NULL 分析矛盾已消除
问题
原文本推测 completedAt 0 NULL 可能来自 CURRENT_TIMESTAMP 默认值或 @updatedAt 的副作用,…