在命令行上编辑 SQL 转储,意味着把一堆本就不是为理解 SQL 而生的工具串在一起:用 grep 找一张表,用一段脆弱的 sed 区间把它切出来,用一个 awk 脚本跳过你不想要的行,再用 mysqldump 参数从源头重新来过。这里每一样都是一次性的东西,下个月你就忘光了,而一个放错位置的正则就能悄无声息地毁掉输出。
对于一项偶尔才做的任务,这笔账不划算。原生应用让每一步都可见——你看到那些表,勾选你需要的,在任何东西被写出之前查看预览。而且因为设置一直摆在屏幕上,同样的活儿下次做起来轻而易举。据我们所知,DumpCleaner 是唯一一款专为以这种方式筛选和清理 SQL 转储而打造的原生 macOS 和 iPadOS 应用。
不碰终端你能做什么
DumpCleaner 把惯常那套 shell 里的“杂技”变成了几个控件:
- 用复选框挑选表——转储里的每一张表都列出来;勾选你想保留或丢弃的那些。
- 筛选语句类型——独立地包含或排除
CREATE、INSERT、ALTER、DROP、SET和LOCK语句。 - 按外键重排 INSERT——把插入语句排成依赖顺序,让父表先于子表加载。
- 以流式打开大文件——转储以分块、恒定内存处理,所以几 GB 的文件打开也不卡。
- 实时预览——随着你改动筛选,实时看到生成的 SQL,然后再决定是否导出。
- 预估输出大小——在写出之前就大致知道导出文件会有多大。
支持的格式
DumpCleaner 能读取你在实际工作中真正会遇到的那些数据库的转储:
- MySQL 和 MariaDB(mysqldump 输出)
- PostgreSQL(pg_dump 输出)
- SQLite
- MS SQL Server
格式会从文件内容中自动检测——没有对话框来问你手上是哪种方言。像 public.users 这样带 schema 限定的名字也能被理解,所以 PostgreSQL 转储的表现和 MySQL 转储一致。
为什么原生应用胜过脚本
一条 shell 单行命令只能用一次——前提是你把每个参数都写对。原生应用给你的是脚本给不了的东西:
- 可重复——筛选设置就摆在屏幕上,所以同样的任务下个月点一下就行,而不用再去重新“发掘”一段咒语。
- 没有正则错误——DumpCleaner 会正确解析 SQL,而不是靠手工逐行匹配,所以你不会悄无声息地从一条
INSERT中间切开。 - 导出前预览——在写出任何一个字节之前,你都能精确看到会输出什么。
- 非破坏性——原始转储绝不会被修改;每次导出都写到一个新文件。
- 沙盒化且安全——应用运行在 macOS App 沙盒里,只会碰你明确打开的文件。
- Mac 和 iPad 都能跑——同一个应用、同样的功能,两个平台都有。
常见任务
大多数人来时都带着一件具体的活儿。下面是常见的几件——每一件都有自己的分步指南:
- 修复导入时的 "a foreign key constraint fails"——按依赖重排 INSERT,让父表先加载。
- 打开并编辑大型 SQL 转储文件——流式处理几 GB 的转储而不耗尽内存。
- 从转储中提取单张表——只保留你需要的表,其余丢掉。
- 只导出表结构(Schema)——剥掉数据,保留
CREATE语句。
打开、筛选、导出——无需 shell
DumpCleaner 用复选框和实时预览取代 sed、awk 和 mysqldump 参数。原生 macOS 与 iPadOS 应用,一次性买断。
在 App Store 下载常见问题
Mac 上有图形界面的 SQL 转储工具吗?
有。DumpCleaner 是一款原生 macOS 和 iPadOS 应用,用图形界面打开 SQL 转储,让你挑选表、筛选语句类型并导出一个干净的文件,全程不碰命令行。
编辑 SQL 转储需要懂命令行吗?
不需要。DumpCleaner 用复选框和实时预览取代 sed、awk、grep 和 mysqldump 参数,于是偶尔的编辑变得可见、可重复,而不是一次性的 shell 命令。
支持哪些 SQL 转储格式?
MySQL、MariaDB、PostgreSQL、SQLite 和 MS SQL。格式会从文件内容中自动检测,你无需配置任何东西。
这款 SQL 转储编辑器能在 iPad 上运行吗?
能。DumpCleaner 是同一个应用,可原生运行在 macOS 和 iPadOS 上,具备相同的筛选、预览和导出功能。
用可视化的方式编辑 SQL 转储
拖入一个转储,勾选保留的内容,预览并导出。DumpCleaner 干的,正是过去要一堆 shell 命令才能干的活——在 Mac 和 iPad 上。
在 App Store 下载