マイグレーション(DB)
Database Migration/まいぐれーしょん
ひとことで言うと
データベースの構造変更を、手作業ではなくコードで管理して、段階的に適用したり巻き戻したりできる仕組みです。
📖 もうちょい詳しく
何が新しいの?
データベース(データをためておく入れもの)の「形」は、開発を進めるうちに何度も変わります。たとえば「ユーザーに電話番号の欄を足す」といった変更です。これを毎回だれかが手作業でいじると、人によってずれたり、本番で操作をまちがえたりします。マイグレーションは、その構造変更を「コード(命令文)」として残し、安全に積み上げていく考え方です。
どうやって動いてるの?
変更内容を1つずつ小さなファイルにして、日付や番号で順番をつけて保存します。データベースは「どこまで適用したか」を自分で記録しているので、未適用のものだけを順に流していけます。多くのツールには「適用(マイグレート)」と「巻き戻し(ロールバック)」がセットで用意され、問題が出たら1つ前の形に戻せます。
何ができるの?
同じ変更を、自分のパソコン・テスト用・本番と、どの環境でも同じ手順で再現できます。チームの全員が同じファイルを共有するので、「自分の環境だけ列が足りない」といった食いちがいが起きにくくなります。新しく参加した人も、ファイルを順に流すだけで最新の構造をそろえられます。
🌱 身近なたとえ
引っ越しの「やることリスト」で例えると分かりやすいです。「冷蔵庫を置く→棚を組む→本を入れる」と順番に書いておけば、誰がやっても同じ部屋ができあがります。途中で失敗しても「1つ前の手順に戻す」と書いてあれば安心です。マイグレーションは、この手順書をデータベース向けにコードで書いたものです。
✅ まず覚えるポイント
- データベースの構造変更を「コード」で管理する仕組みです
- 変更は小さなファイルに分け、順番をつけて積み上げます
- 「適用」と「巻き戻し」がセットになっていることが多いです
- どの環境でも同じ手順で同じ構造を再現できます
- チームで共有でき、環境ごとのずれを防ぎます
🧭 よくある勘違い
データそのものを移す作業のこと?
「マイグレーション」という言葉は、サーバー移転などで「データを引っ越す」意味で使われることもあります。ですがデータベースの文脈では、中身のデータより「構造(テーブルや列の形)」の変更管理を指すことが多いです。文脈で意味が変わる言葉なので、どちらの話か意識すると混乱しません。
一度流したら元に戻せないの?
多くのツールには巻き戻し(ロールバック)の仕組みがあり、直前の状態に戻せる場合があります。ただし、列を消すような変更はデータが失われることもあるため、本番では事前のバックアップが大切です。「戻せるから安全」と過信しすぎないのが安心です。
🧩 関連して覚えると楽な言葉
- リレーショナルデータベース: データを表の形でためて、表どうしの関係でつなぐデータベースです
- スキーマ: テーブルや列など、データの「形」を決めた設計図です
- SQL: データベースに指示を出すための言葉です
- Git: 変更履歴を管理する仕組み。マイグレーションと相性が良いです
🏁 ひとことでまとめ
データベースの「形」の変更を、手順を残しながら安全に積み上げ・巻き戻しできるようにするやり方です。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…