コマンドラインで SQL ダンプを編集するということは、そもそも SQL を理解するようには作られていないツールを繋ぎ合わせることです。テーブルを探す grep、それを切り出す脆い sed の範囲指定、不要な行を飛ばす awk スクリプト、そしてソースからやり直す mysqldump のフラグ。どれも来月には忘れている使い捨てで、正規表現を1つ間違えるだけで出力が黙って壊れます。
たまにしかやらない作業には、それは割に合いません。ネイティブアプリは各ステップを目に見えるものにします。テーブルを見て、必要なものにチェックを入れ、何かが書き出される前にプレビューを確認します。そして設定が画面に残るので、同じ作業を次回また簡単に繰り返せます。DumpCleaner は私たちの知る限り、こうして SQL ダンプをフィルタリング・クリーニングするために作られた唯一のネイティブ macOS・iPadOS アプリです。
ターミナルに触れずにできること
DumpCleaner は、いつものシェルの曲芸を、ひと握りのコントロールに変えます:
- チェックボックスでテーブルを選ぶ — ダンプ内のすべてのテーブルが一覧表示され、残す/落とすものにチェックを入れます。
- 文の種類でフィルタリング —
CREATE、INSERT、ALTER、DROP、SET、LOCKの各文を個別に含めたり除外したりします。 - 外部キーで INSERT を並べ替え — 親テーブルが子より先に読み込まれるよう、INSERT を依存関係順にソートします。
- ストリーミングで大きなファイルを開く — ダンプはチャンク単位で一定のメモリで処理されるので、数ギガバイトのファイルも固まらずに開きます。
- ライブプレビュー — フィルタを変えるたびに、エクスポートを確定する前に結果の SQL を確認できます。
- 推定出力サイズ — 書き出す前に、エクスポートされるファイルのおおよその大きさが分かります。
対応フォーマット
DumpCleaner は、実務で実際に出会うデータベースのダンプを読み込みます:
- MySQL と MariaDB(mysqldump の出力)
- PostgreSQL(pg_dump の出力)
- SQLite
- MS SQL Server
フォーマットはファイルの内容から自動的に検出されます。どの方言かを尋ねるダイアログはありません。public.users のようなスキーマ修飾名も理解するので、PostgreSQL のダンプは MySQL のものと同じように振る舞います。
なぜネイティブアプリはスクリプトに勝るのか
シェルのワンライナーは、すべてのフラグを正しく書けば一度は動きます。ネイティブアプリは、スクリプトにはできないものを与えてくれます:
- 繰り返せる — フィルタ設定が画面にそのまま残っているので、同じ作業は来月もワンクリックです。呪文を再発見する必要はありません。
- 正規表現のミスがない — DumpCleaner は行を手作業で照合するのではなく SQL を正しくパースするので、
INSERTの途中を黙って切ってしまうことがありません。 - エクスポート前にプレビュー — 1バイトも書き出す前に、何が出てくるかを正確に確認できます。
- 非破壊的 — 元のダンプは決して変更されず、すべてのエクスポートは新しいファイルに書き出されます。
- サンドボックス化されて安全 — アプリは macOS App Sandbox 内で動作し、明示的に開いたファイルだけに触れます。
- Mac と iPad で動作 — 同じアプリ、同じ機能が両方のプラットフォームで使えます。
よくある作業
ほとんどの人は、1つの具体的な用件を持ってやって来ます。よくあるものは以下の通りで、それぞれに手順ごとのガイドがあります:
- インポート時の「a foreign key constraint fails」を修正する — 親が先に読み込まれるよう INSERT を依存関係順に並べ替えます。
- 大きな SQL ダンプファイルを開いて編集する — 数ギガバイトのダンプをメモリ不足にならずにストリーミングします。
- ダンプから特定のテーブルを1つ抽出する — 必要なテーブルだけを残し、残りを落とします。
- スキーマ(構造)だけをエクスポートする — データを取り除き、
CREATE文を残します。
開いて、フィルタリングして、エクスポート — シェルは不要
DumpCleaner は sed、awk、mysqldump のフラグを、チェックボックスとライブプレビューに置き換えます。ネイティブの macOS & iPadOS アプリ、買い切り。
App Store でダウンロードよくある質問
Mac 用の GUI の SQL ダンプツールはありますか?
はい。DumpCleaner は SQL ダンプをグラフィカルなインターフェイスで開くネイティブの macOS・iPadOS アプリです。コマンドラインに触れずに、テーブルを選び、文の種類でフィルタリングし、クリーンなファイルをエクスポートできます。
SQL ダンプを編集するにはコマンドラインの知識が必要ですか?
いいえ。DumpCleaner は sed、awk、grep、mysqldump のフラグを、チェックボックスとライブプレビューに置き換えます。たまの編集も、使い捨てのシェルコマンドではなく、目に見えて繰り返せるものになります。
どの SQL ダンプフォーマットに対応していますか?
MySQL、MariaDB、PostgreSQL、SQLite、MS SQL です。フォーマットはファイルの内容から自動検出されるので、何も設定する必要はありません。
SQL ダンプエディタは iPad でも動きますか?
はい。DumpCleaner は macOS と iPadOS の両方でネイティブに動作する単一のアプリで、フィルタリング・プレビュー・エクスポートの機能はすべて同じです。
ビジュアルに SQL ダンプを編集する
ダンプをドラッグし、残すものにチェックを入れ、プレビューしてエクスポート。DumpCleaner は、かつて大量のシェルコマンドがやっていた作業を — Mac と iPad で — こなします。
App Store でダウンロード