データベース移行ジェネレーター

現在のスキーマを左に、目標のスキーマを右に貼り付けます — CREATE TABLE の DDL でも、ERD デザイナーのスキーマ JSON でも — そして前進(up)スクリプトと対応するロールバック(down)スクリプトを生成します。新規・削除されたテーブル、追加・削除・変更された列、外部キーの変更を、MySQL、PostgreSQL、SQL Server、SQLite、Oracle、標準 SQL 向けにクオートします。何もアップロードされず、差分はブラウザー内で実行されます。
1 — 変更前(現在のスキーマ)
2 — 変更後(目標スキーマ)
3 — 移行を生成
文はテーブルごとにグループ化されます。実行前に出力を見直してください。
まだ差分は生成されていません。
範囲:これはテーブル・列・主キー・null 許容性・既定値・外部キーの構造差分です。インデックス、トリガー、ビュー、データの後埋めは範囲外で、手で追加すべきです。SQLite は列をその場で変更できないため、その変更はテーブルの再作成を求めるコメントとして出力されます。
データベース移行とは?

移行とは、データベーススキーマを変える版管理されたスクリプトです。このテーブルを作り、あの列を足し、インデックスを落とす。チームは移行を順番に適用するので、すべての環境 — 開発、ステージング、本番 — が、手作業でコードと一致しない形に編集される代わりに、版から版へ同じ道を辿ります。各移行は通常 2 つの半分で出荷されます。up が変更を適用し、down がそれを逆にする。だから悪いリリースは、入ったのと同じ道で巻き戻せます。

テーブルや列を落とす移行は破壊的です — down スクリプトは削除されたデータを蘇らせられません。何かを取り除く移行を実行する前に、バックアップ(または少なくとも影響するテーブルの書き出し)を取ってください。