フリーキーズ | 独学プログラミング

マイグレーションとは

最終更新日

データベースの文脈では、マイグレーションは通常、あるシステムから別のシステムへデータを移動するプロセス、または既存のデータの構造を変更するプロセスを指します。これは、新しいシステムへのアップグレード、異なるサーバーへの移行、データベース設計の変更、異なるタイプのデータベース技術への移行などさまざまな理由で必要となる場合があります。

データベースマイグレーションの2つの種類

ここでは、データベース移行の主な2つのタイプである「データ移行」と「スキーマ移行」に分類してみましょう。

データ移行

データそのものには手を加えず、新しいシステムの要件に合わせてデータの形式を変更し、あるシステムから別のシステムへデータを移行することです。

例えば、ある組織では、古い顧客管理システムから新しいシステムへデータを移行することがあります。
この場合、実際の顧客データは変わりませんが、その形式は変わるかもしれません。

スキーマの移行

データを変更することなくデータベースのスキーマを変更することです。

データベースのスキーマとは、データベースの構造または設計図のことで、テーブル、フィールド、およびそれらの間の関係を含む、データの編成方法を定義しています。
新しいテーブルを追加したり、カラムを削除したり、フィールドのデータ型を変更したりする場合は、スキーマの移行を実行することになります。

たとえば、ECビジネスを展開している場合、データベースにCustomersテーブルがあるとしFirstPurchaseDateカラムを追加する必要があると仮定します。

SQLでは次のようなコマンドになります。

ALTER TABLE Customers ADD COLUMN FirstPurchaseDate DATE;

マイグレーションの注意点

特に本番環境では、データの損失やダウンタイムを避けるために移行は非常に慎重に行う必要があることに留意してください。
そのため、データベースの移行は通常、実際に実施する前に十分に計画しテストします。また、何か問題が発生した場合にプロセスを元に戻すことができるように、移行を実行する前にバックアップを作成することがよくあります。