AI活用の教科書

マイグレーション(DB)

Database Migrationまいぐれーしょん

ひとことで言うと

データベースの構造変更を、手作業ではなくコードで管理して、段階的に適用したり巻き戻したりできる仕組みです。

📖 もうちょい詳しく

何が新しいの?

データベース(データをためておく入れもの)の「形」は、開発を進めるうちに何度も変わります。たとえば「ユーザーに電話番号の欄を足す」といった変更です。これを毎回だれかが手作業でいじると、人によってずれたり、本番で操作をまちがえたりします。マイグレーションは、その構造変更を「コード(命令文)」として残し、安全に積み上げていく考え方です。

どうやって動いてるの?

変更内容を1つずつ小さなファイルにして、日付や番号で順番をつけて保存します。データベースは「どこまで適用したか」を自分で記録しているので、未適用のものだけを順に流していけます。多くのツールには「適用(マイグレート)」と「巻き戻し(ロールバック)」がセットで用意され、問題が出たら1つ前の形に戻せます。

何ができるの?

同じ変更を、自分のパソコン・テスト用・本番と、どの環境でも同じ手順で再現できます。チームの全員が同じファイルを共有するので、「自分の環境だけ列が足りない」といった食いちがいが起きにくくなります。新しく参加した人も、ファイルを順に流すだけで最新の構造をそろえられます。

🌱 身近なたとえ

引っ越しの「やることリスト」で例えると分かりやすいです。「冷蔵庫を置く→棚を組む→本を入れる」と順番に書いておけば、誰がやっても同じ部屋ができあがります。途中で失敗しても「1つ前の手順に戻す」と書いてあれば安心です。マイグレーションは、この手順書をデータベース向けにコードで書いたものです。

✅ まず覚えるポイント

  • データベースの構造変更を「コード」で管理する仕組みです
  • 変更は小さなファイルに分け、順番をつけて積み上げます
  • 「適用」と「巻き戻し」がセットになっていることが多いです
  • どの環境でも同じ手順で同じ構造を再現できます
  • チームで共有でき、環境ごとのずれを防ぎます

🧭 よくある勘違い

データそのものを移す作業のこと?

「マイグレーション」という言葉は、サーバー移転などで「データを引っ越す」意味で使われることもあります。ですがデータベースの文脈では、中身のデータより「構造(テーブルや列の形)」の変更管理を指すことが多いです。文脈で意味が変わる言葉なので、どちらの話か意識すると混乱しません。

一度流したら元に戻せないの?

多くのツールには巻き戻し(ロールバック)の仕組みがあり、直前の状態に戻せる場合があります。ただし、列を消すような変更はデータが失われることもあるため、本番では事前のバックアップが大切です。「戻せるから安全」と過信しすぎないのが安心です。

🧩 関連して覚えると楽な言葉

  • リレーショナルデータベース: データを表の形でためて、表どうしの関係でつなぐデータベースです
  • スキーマ: テーブルや列など、データの「形」を決めた設計図です
  • SQL: データベースに指示を出すための言葉です
  • Git: 変更履歴を管理する仕組み。マイグレーションと相性が良いです

🏁 ひとことでまとめ

データベースの「形」の変更を、手順を残しながら安全に積み上げ・巻き戻しできるようにするやり方です。