2つの PostgreSQL データベースを比較
2つの PostgreSQL スキーマの違いを、ひと目で。
DiffyPick を 2つの PostgreSQL データベースに向けると、差分のあるテーブル・カラム・インデックス・制約をすべて一覧し、片方をもう片方に合わせる SQL を生成します。
本来もっと簡単でいいはず
スキーマはローカル・検証・本番の間でズレていき、本当の姿はマイグレーションファイルではなくデータベースの中にしかありません。
DiffyPick は両方のスキーマを直接読み取り、その違いをオブジェクト単位の見やすい一覧で示します。
手作業でやると
pg_dump --schema-only で両方をダンプして差分を取るか、information_schema や pg_catalog を手で叩く方法があります。
できはしますが、ダンプ差分は順序・所有者・コメントなどのノイズが多く、そこから安全な ALTER 文に落とすのは自分の仕事です。
DiffyPick はそこを飛ばし、オブジェクト単位で比較して ALTER SQL まで書き上げます。
DiffyPick なら
両方に接続する
2つの PostgreSQL 接続を選び、それぞれのデータベースとスキーマを指定します。
比較する
差分のあるテーブル・カラム・インデックス・制約・ビュー・関数がすべて差分として色分け・検索可能に一覧されます。
確認して同期する
生成された ALTER SQL を文単位でプレビューし、適用するものを選んで実行、または HTML レポートに出力します。
得られるもの
- ノイズだらけのテキストダンプではなく、オブジェクト単位の差分。
- FK 依存順まで解決された ALTER SQL の自動生成。
- 実行前のプリフライトチェックと 1クリックバックアップ。
- MySQL・SQL Server・MariaDB・SQLite でも同じワークフロー。
PostgreSQL スキーマを、いま比較。
SQLite は無料。PostgreSQL への接続は有償プランで。開始にアカウントは不要です。