Sql Splitter

拆分SQL文件为独立模块并分析依赖

开发流程 后端开发运维工程师 拆分SQL脚本文件并管理依赖 通用 ★ 1.5k 更新于 2026-07-31

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:Sql Splitter。
它的用途是:拆分SQL文件为独立模块并分析依赖
完整的 Skill 内容见:https://321skill.com/skills/sql-splitter/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

'将当前项目中的 production.sql 文件按对象类型拆分为独立文件,并生成合并脚本,输出到 ./sql_scripts 目录',它会自动解析文件,识别出所有存储过程、函数、视图、表结构、索引和约束,分别保存到对应子目录中,同时生成一个 dependencies.md 文件说明对象间的引用关系,以及一个按依赖顺序排列的 merge_all.sql 合并脚本。

介绍

在处理大型SQL脚本时,尤其是包含存储过程、函数、视图、触发器、表结构、索引和约束的复杂文件,手动拆分和维护这些代码非常耗时且容易出错。Sql Splitter 自动将单个SQL文件按对象类型拆分为独立文件,并识别对象间的依赖关系,生成合并脚本,从而避免因遗漏依赖导致的部署失败。

使用方式简单:直接提供SQL文件路径,工具会自动解析语法树,识别每个对象的定义和依赖(如存储过程引用的表或视图),然后按类型输出到对应目录,最后生成一个按依赖顺序排列的合并脚本。支持自定义输出目录和过滤特定对象类型,适合集成到CI/CD流水线中。

适合后端开发工程师、数据库管理员、运维工程师以及需要频繁进行数据库迁移或版本控制的团队。尤其适合在微服务架构中管理多个数据库脚本,或在进行数据库重构、数据迁移时确保脚本的完整性和可追溯性。

建议在拆分前确保SQL语法符合标准,对厂商特定方言(如Oracle PL/SQL、T-SQL)可能需要额外测试。对于特别大的文件(超过10万行),建议先验证解析性能。拆分后生成的独立文件可以直接纳入版本控制,便于代码审查和审计。

核心特点

自动分析对象间的依赖关系(如存储过程调用的表、视图引用的字段),并生成按依赖拓扑排序的合并脚本,确保部署顺序正确,避免手动维护依赖关系。

注意事项

不适用于非SQL文件内容,也无法处理需要实时数据库连接才能解析的运行时依赖(如动态SQL中的表名)。

常见问题

支持哪些数据库的SQL语法?

主要支持标准SQL语法,对MySQL、PostgreSQL、SQL Server等主流数据库的常见语法有较好兼容性,但部分厂商特有语法(如Oracle的包体)可能需要额外配置或测试。

如何处理循环依赖?

当检测到循环依赖时,工具会输出警告并在合并脚本中保留注释,建议用户手动调整或通过拆分存储过程逻辑来打破循环。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/sql-splitter/raw/index.md 读取 Sql Splitter 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。