AI News HubLIVE
站内改写

Show HN: MigraDiff v1.3.0 – PostgreSQLスキーマ差分とAI移行説明

MigraDiff v1.3.0 がリリースされ、AIによる移行説明機能(--explain)と移行フォルダ入力モードが追加されました。変更点、リスク、安全な代替案を平易な英語で説明します。Claude Haiku を利用し、APIキーが必要です。また、移行フォルダから直接差分を取得できます。

MigraDiff は、PostgreSQL スキーマの差分を比較するためのオープンソースツールです。最新バージョン v1.3.0 では、AI を活用した移行説明機能と、移行フォルダ入力モードが新たに追加されました。

AI 移行説明機能(--explain)は、Claude Haiku(Anthropic 社)を利用して、各移行ステートメントの意味、リスク、破壊的操作に対するより安全な代替案を平易な英語で説明します。この機能を使用するには、AI サポート版をインストール(pip install migradiff[ai])し、初回に migra --setup-ai を実行して自身の API キーを設定する必要があります。データはすべてローカルで処理され、外部サーバーに送信されることはありません。--output json や --from-file などの既存のフラグとも併用可能です。

移行フォルダ入力モード(--from-migrations-dir)は、番号付きの移行ファイルが格納されたディレクトリを指定して、ベーススキーマとの差分を直接取得できる機能です。ライブなブランチデータベースを用意する必要がないため、本番環境に影響を与えずに移行スクリプトを検証したい場合に便利です。このモードは、Supabase のタイムスタンプ形式、Flyway のバージョン形式、および標準的な数字プレフィックス形式をサポートし、ファイルは正しい数値順(9 の前に 10)で適用されます。

その他の変更点として、README で CLI コマンド名(migra)と Python パッケージ名(migradiff)の違いが明確化されました。互換性のため CLI 名は migra のままですが、パッケージ名は migradiff です。アップグレードは pip install --upgrade migradiff で行えます。詳細な変更履歴は GitHub の CHANGELOG をご参照ください。

MigraDiff v1.3.0 は、AI による説明機能と移行フォルダ対応により、特にスキーマ変更を頻繁に行う開発・運用チームにとって、データベース移行管理の安全性と効率を大きく向上させるアップデートとなっています。