关键信息
- 分类
- 开发与 Web
- 输入类型
- textarea, select
- 输出类型
- json
- 样本覆盖
- 4
- 支持 API
- Yes
概览
一款高效的数据库 Schema 对比工具,支持自动解析 SQL DDL 或 JSON/YAML 格式的表结构摘要。通过输入源数据库和目标数据库的 Schema,工具能快速比对表、字段、索引及外键的差异,并自动生成适用于 MySQL、PostgreSQL 或 SQLite 的迁移 SQL 草案,帮助开发者安全、准确地完成数据库版本升级与变更。
适用场景
- •需要在开发环境与生产环境之间同步数据库表结构时。
- •团队协作开发中,需要快速生成数据库变更的迁移脚本(Migration SQL)时。
- •重构旧项目数据库,需要比对新旧 JSON/YAML 结构摘要以确认字段增删情况时。
工作原理
- •在“源 Schema”和“目标 Schema”文本框中分别粘贴当前和期望的数据库结构代码(支持 SQL DDL 或 JSON)。
- •选择对应的 Schema 格式(自动识别、SQL DDL 或 JSON/YAML)以及目标数据库方言(MySQL、PostgreSQL 或 SQLite)。
- •工具将解析并比对两个结构,提取表、字段、索引等维度的差异。
- •最终输出包含变更统计摘要(如新增字段、删除表)及具体迁移 SQL 草案的 JSON 结果。
使用场景
用户案例
1. 生成 PostgreSQL 字段与索引迁移脚本
后端开发工程师- 背景原因
- 业务需求要求在用户表中增加邮箱字段,并为其添加索引以提升查询速度。
- 解决问题
- 需要快速生成从旧版表结构到新版表结构的增量 SQL 脚本。
- 如何使用
- 将旧版 users 表的 DDL 粘贴至“源 Schema”,将包含 email 字段及索引的新版 DDL 粘贴至“目标 Schema”,方言选择“PostgreSQL”。
- 示例配置
-
schemaFormat: sql, dialect: postgresql - 效果
- 工具输出 JSON 结果,统计出新增 1 个字段和 1 个索引,并生成 ALTER TABLE users ADD COLUMN email TEXT NOT NULL; 及创建索引的迁移 SQL 草案。
2. 评估 SQLite 数据库的结构精简
移动端开发工程师- 背景原因
- App 本地数据库需要移除废弃的审计日志表(audit_logs)和用户表中的冗余字段。
- 解决问题
- 确认 JSON 格式的 Schema 变更,并获取 SQLite 的迁移操作提示。
- 如何使用
- 在源和目标输入框中分别粘贴修改前后的 JSON Schema 摘要,格式选择“JSON 或 YAML”,方言选择“SQLite”。
- 示例配置
-
schemaFormat: json, dialect: sqlite - 效果
- 工具识别出删除了 1 张表和 1 个字段,生成 DROP TABLE audit_logs; 语句,并输出 SQLite 需要重建表以删除字段的警告注释。
用 Samples 测试
sql相关专题
常见问题
支持哪些数据库方言?
目前支持 MySQL、PostgreSQL 和 SQLite,也可以选择“自动识别”让工具自行判断。
可以直接连接我的生产数据库吗?
不可以。本工具为纯文本比对工具,不提供直连数据库功能,请手动导出 SQL DDL 或 JSON 摘要后粘贴使用。
为什么 SQLite 删除字段时没有生成 DROP COLUMN 语句?
因为 SQLite 对 ALTER TABLE 的支持有限,删除字段通常需要重建整张表。工具会在生成的迁移草案中输出相关的重建提示注释。
支持比对 JSON 格式的 Schema 吗?
支持。您可以选择“JSON 或 YAML”格式,工具会解析其中的表和字段定义进行比对。
输出的迁移 SQL 可以直接执行吗?
输出的 SQL 为迁移草案,建议在实际执行前由 DBA 或开发人员进行人工复核,以确保数据安全。