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

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

DiffyPick を 2つの MySQL(または MariaDB)データベースに向けると、差分のあるテーブル・カラム・インデックスをすべて一覧し、揃えるための ALTER TABLE SQL を生成します。

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

スキーマは環境の間でズレていき、本当の構造は誰も読まなくなったマイグレーションファイルではなくデータベースの中にあります。

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

手作業でやると

mysqldump --no-data で両方をダンプして差分を取るか、information_schema を手で叩く方法があります。mysqldbcompare のような旧ツールは非推奨です。

いずれも AUTO_INCREMENT・エンジン・文字セットのノイズと戦うことになり、安全な ALTER 文は結局自分で書く必要があります。

DiffyPick はオブジェクト単位で比較し、変更をテーブルごとの ALTER TABLE にまとめます。

DiffyPick なら

  1. 両方に接続する

    2つの MySQL または MariaDB 接続と、それぞれのデータベースを選びます。

  2. 比較する

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

  3. 確認して同期する

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

得られるもの

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

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