2つの PostgreSQL データベースを比較

2つの PostgreSQL スキーマの違いを、ひと目で。

DiffyPick を 2つの PostgreSQL データベースに向けると、差分のあるテーブル・カラム・インデックス・制約をすべて一覧し、片方をもう片方に合わせる SQL を生成します。

本来もっと簡単でいいはず

スキーマはローカル・検証・本番の間でズレていき、本当の姿はマイグレーションファイルではなくデータベースの中にしかありません。

DiffyPick は両方のスキーマを直接読み取り、その違いをオブジェクト単位の見やすい一覧で示します。

手作業でやると

pg_dump --schema-only で両方をダンプして差分を取るか、information_schema や pg_catalog を手で叩く方法があります。

できはしますが、ダンプ差分は順序・所有者・コメントなどのノイズが多く、そこから安全な ALTER 文に落とすのは自分の仕事です。

DiffyPick はそこを飛ばし、オブジェクト単位で比較して ALTER SQL まで書き上げます。

DiffyPick なら

  1. 両方に接続する

    2つの PostgreSQL 接続を選び、それぞれのデータベースとスキーマを指定します。

  2. 比較する

    差分のあるテーブル・カラム・インデックス・制約・ビュー・関数がすべて差分として色分け・検索可能に一覧されます。

  3. 確認して同期する

    生成された ALTER SQL を文単位でプレビューし、適用するものを選んで実行、または HTML レポートに出力します。

得られるもの

PostgreSQL スキーマを、いま比較。

SQLite は無料。PostgreSQL への接続は有償プランで。開始にアカウントは不要です。