MySQL → PostgreSQL 移行

MySQL のスキーマを PostgreSQL へ — 構造は、こちらで用意します。

DiffyPick は MySQL データベースを PostgreSQL と比較し、テーブルとカラムの構造を再現する PostgreSQL の DDL を生成します。移行で一番面倒な最初の一歩を肩代わりします。

面倒な最初の一歩

MySQL から PostgreSQL への移行は最もよくあるパターンの 1つで、スキーマがその厄介な部分です。型のマッピング、識別子の大小文字の整合、AUTO_INCREMENT をシーケンスや identity カラムに置き換える作業などです。

DiffyPick はそのマッピングを自動で行い、実行する前に何を作成するかを正確に見せます。

流れ

  1. 両側に接続する

    DiffyPick を MySQL のソースと PostgreSQL のターゲットに向けます。空の新規データベースで構いません。

  2. 比較する

    DiffyPick が MySQL の型を PostgreSQL の相当型にマッピングし、すべてのテーブルとカラムを差分として一覧します。

  3. 確認して生成する

    PostgreSQL の DDL を文単位でプレビューし、適用するものを選び、エクスポートまたは実行します。

変換されるもの

テーブルとカラム。型は PostgreSQL へマッピングされます。TINYINT は smallint または boolean、DATETIME は timestamp、UNSIGNED は桁の拡張、AUTO_INCREMENT は identity またはシーケンスになります。

主キー・インデックス・外部キーも構造の一部として移されます。

エンジン固有のオブジェクト(ストアド・MySQL 方言のトリガーなど)は対象外です。DiffyPick が移すのは構造であり、ロジックではありません。

留意点

移行の助走を、ここから。

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