chore: 固化数据库迁移验证提示
This commit is contained in:
parent
afea86ba21
commit
432320dd9d
@ -8,7 +8,7 @@
|
|||||||
- 读取 Obsidian 索引上下文:从 `docs/obsidian` 的总入口、模块索引、文档矩阵、工作流关系和 Canvas 摘要中按模块或关键词定位文档,并返回 `codeAnchors` / `ruleAnchors` 锚定到现有项目别名、源码路径、相关规则文档和后续上下文工具。
|
- 读取 Obsidian 索引上下文:从 `docs/obsidian` 的总入口、模块索引、文档矩阵、工作流关系和 Canvas 摘要中按模块或关键词定位文档,并返回 `codeAnchors` / `ruleAnchors` 锚定到现有项目别名、源码路径、相关规则文档和后续上下文工具。
|
||||||
- 检查子项目环境:Git/SVN、包管理器、Node 版本、env 文件、Git 状态。
|
- 检查子项目环境:Git/SVN、包管理器、Node 版本、env 文件、Git 状态。
|
||||||
- 生成防偏差工作包:把开工前检查、禁止项、风险扫描、验证计划汇总成一份可执行清单。
|
- 生成防偏差工作包:把开工前检查、禁止项、风险扫描、验证计划汇总成一份可执行清单。
|
||||||
- 生成验证建议:按后端、前端、样式、页面、部署、MCP 等变更类型给出轻量验证命令。
|
- 生成验证建议:按后端、前端、样式、页面、部署、数据库、MCP 等变更类型给出轻量验证命令和迁移核验要点。
|
||||||
- 固化改动后 review:验证计划和提交清单都会提醒执行 `kt_global_code_review` / `pnpm run global-review`。
|
- 固化改动后 review:验证计划和提交清单都会提醒执行 `kt_global_code_review` / `pnpm run global-review`。
|
||||||
- 生成任务收尾包:把状态、验证计划、可选验证执行、全局 review 和历史清理收成一份结果。
|
- 生成任务收尾包:把状态、验证计划、可选验证执行、全局 review 和历史清理收成一份结果。
|
||||||
- 生成大方向完结闭环审计:确认开发目标、测试证据、问题记录、稳定解法和 ktWorkflow 升级是否齐备。
|
- 生成大方向完结闭环审计:确认开发目标、测试证据、问题记录、稳定解法和 ktWorkflow 升级是否齐备。
|
||||||
|
|||||||
@ -87,6 +87,19 @@ export async function runSelfTest(): Promise<void> {
|
|||||||
throw new Error('API Jest verification command self-check failed');
|
throw new Error('API Jest verification command self-check failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const databaseVerification = buildVerificationPlan({
|
||||||
|
changeType: 'database',
|
||||||
|
project: 'api',
|
||||||
|
});
|
||||||
|
const databaseVerificationNotes = databaseVerification.notes.join('\n');
|
||||||
|
if (
|
||||||
|
!databaseVerificationNotes.includes('备份目标表') ||
|
||||||
|
!databaseVerificationNotes.includes('SHOW COLUMNS') ||
|
||||||
|
!databaseVerificationNotes.includes('真实接口 smoke')
|
||||||
|
) {
|
||||||
|
throw new Error('database migration verification self-check failed');
|
||||||
|
}
|
||||||
|
|
||||||
const closeoutNeedsUpgrade = buildWorkstreamCloseout({
|
const closeoutNeedsUpgrade = buildWorkstreamCloseout({
|
||||||
problemRecords: ['Jenkins 状态需要结合日志和 K8s 状态确认。'],
|
problemRecords: ['Jenkins 状态需要结合日志和 K8s 状态确认。'],
|
||||||
reusablePatterns: ['deploy-observation'],
|
reusablePatterns: ['deploy-observation'],
|
||||||
|
|||||||
@ -27,6 +27,12 @@ export function buildVerificationPlan(input: VerificationPlanInput): Verificatio
|
|||||||
notes.push('当前目录不是独立 Git/SVN 仓库,提交和 diff 检查需要切到对应子仓库执行。');
|
notes.push('当前目录不是独立 Git/SVN 仓库,提交和 diff 检查需要切到对应子仓库执行。');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (changeType === 'database') {
|
||||||
|
notes.push(
|
||||||
|
'数据库变更上线后必须备份目标表,执行对应幂等迁移 SQL,并用 SHOW COLUMNS / SHOW INDEX / 关键行数和真实接口 smoke 验证。',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
typecheck &&
|
typecheck &&
|
||||||
['api', 'frontend', 'general', 'mcp', 'page', 'refactor', 'style'].includes(changeType)
|
['api', 'frontend', 'general', 'mcp', 'page', 'refactor', 'style'].includes(changeType)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user