SuperAPI AI 工具集

sql-object-impact-analysis

数据与分析

查看项目

更新于 10-15 21:52

技能介绍

用途:在旧代码库或陌生代码库中,对某个数据库对象(表、列、存储过程、视图、函数或触发器)做变更前依赖追踪,回答“如果我改它,还会影响什么”。适用于无 ORM 的代码库、原生 SQL 与手写数据访问混合的遗留技术栈,或用户明确询问某对象的依赖、影响半径、可否安全重命名或删除时。不适用于 SQL 性能调优、代码质量与安全审查、PII 泄露分析,以及全代码库架构文档。

主要能力:先确认目标对象及其精确名称,名称有歧义时先询问。随后搜索 SQL 层:.sql 文件、存储过程、视图、函数与触发器中的直接引用;列需检查所有对其做选择、插入、更新或过滤的过程与视图;表需检查外键关系;存储过程需检查调用链与调度作业/代理步骤;同时留意动态 SQL、同义词和视图嵌套等间接引用。再搜索应用层:直接 SQL 字符串、ORM 或数据访问层映射、最终调用受影响数据路径的 API 端点,并合理上溯一层到前端消费者,无法完全解析时标注“下游消费者可能更多”。所有发现按置信度分类:直接(代码或 SQL 中出现完整名称)、间接(通过过程调用链、ORM 映射或动态 SQL 到达)、不确定(合理但未经验证)。

使用方式与输出:按固定结构生成报告——目标对象(精确名称、类型、架构)、直接 SQL 依赖(按对象类型分组)、应用代码依赖(按数据访问、API/服务、前端分层并给出文件路径)、间接或动态引用(明确标注需人工验证)、风险摘要(判断窄范围使用还是广泛扩散,特别标出调度作业、外部集成、报表层)、建议验证步骤(变更前可执行的具体检查)。

限制:静态文本搜索无法覆盖所有动态 SQL 构造或基于反射的 ORM 映射,不得声称依赖完整或详尽,须说明搜索方法及其局限。不得编造文件路径、过程名或行号;搜索无果应写“文本搜索未发现引用”。代码库过大无法一次完成全量追踪时,应说明并建议限定范围,而不是悄悄输出不完整报告。报告应便于快速浏览,作为变更前几分钟内可读的安全检查,而非完整架构文档。