MySQL → PostgreSQL 移行
MySQL のスキーマを PostgreSQL へ — 構造は、こちらで用意します。
DiffyPick は MySQL データベースを PostgreSQL と比較し、テーブルとカラムの構造を再現する PostgreSQL の DDL を生成します。移行で一番面倒な最初の一歩を肩代わりします。
面倒な最初の一歩
MySQL から PostgreSQL への移行は最もよくあるパターンの 1つで、スキーマがその厄介な部分です。型のマッピング、識別子の大小文字の整合、AUTO_INCREMENT をシーケンスや identity カラムに置き換える作業などです。
DiffyPick はそのマッピングを自動で行い、実行する前に何を作成するかを正確に見せます。
流れ
両側に接続する
DiffyPick を MySQL のソースと PostgreSQL のターゲットに向けます。空の新規データベースで構いません。
比較する
DiffyPick が MySQL の型を PostgreSQL の相当型にマッピングし、すべてのテーブルとカラムを差分として一覧します。
確認して生成する
PostgreSQL の DDL を文単位でプレビューし、適用するものを選び、エクスポートまたは実行します。
変換されるもの
テーブルとカラム。型は PostgreSQL へマッピングされます。TINYINT は smallint または boolean、DATETIME は timestamp、UNSIGNED は桁の拡張、AUTO_INCREMENT は identity またはシーケンスになります。
主キー・インデックス・外部キーも構造の一部として移されます。
エンジン固有のオブジェクト(ストアド・MySQL 方言のトリガーなど)は対象外です。DiffyPick が移すのは構造であり、ロジックではありません。
留意点
- ここではデータは変換されません。DiffyPick が移行するのは構造です。レコードは別途移してください。異種エンジン間の値変換には限界があります。
- エンジン固有の機能は引き継がれません。MySQL 固有の型やオブジェクトは近似または省略され、差分上で明示されます。
- 先にバックアップを。異種方言の同期は不一致に対して drop + add を使うため、大切なものは実行前にバックアップしてください。
移行の助走を、ここから。
SQLite は無料。MySQL と PostgreSQL への接続は有償プランで。開始にアカウントは不要です。