データベースマイグレーション
データベースのスキーマ(テーブル構造)変更をバージョン管理し、順序立てて適用する仕組み。Prisma Migrate・Flyway・Liquibaseが代表的なツール。
データベースマイグレーションとは?
データベースマイグレーションは、データベースのスキーマ(テーブル構造・カラム定義等)の変更をバージョン管理されたスクリプトとして管理し、順序立てて環境に適用する仕組みです。コードの変更とDB変更を同期させる重要な開発プロセスです。
なぜマイグレーションが必要か?
チーム開発では複数の開発者がDBを変更します。「誰がどの変更を加えたか」「本番環境にどこまで適用済みか」を管理しないと整合性が崩れます。
マイグレーションの流れ
1. マイグレーションファイルを作成(例: 20260408_add_phone_to_users.sql)
2. ローカルで適用・テスト
3. PR・コードレビュー
4. ステージング環境で適用・確認
5. 本番環境で適用
代表的なマイグレーションツール
| ツール | 対象言語/FW | 特徴 |
|---|---|---|
| Prisma Migrate | TypeScript/Prisma | スキーマファイルから自動生成 |
| Flyway | Java・多言語 | SQLベース・シンプル |
| Liquibase | 多言語 | XML/YAML/SQL対応 |
| Alembic | Python/SQLAlchemy | Python標準 |
| Rails Migration | Ruby on Rails | フレームワーク標準 |
ロールバック
マイグレーション失敗時のロールバック(元に戻す)スクリプトも合わせて用意することが推奨されます(ダウンマイグレーション)。
まとめ
マイグレーションは「本番DBを直接変更する」という危険な運用を防ぐための安全弁です。チーム開発では必ず導入してください。
関連する用語 (データベース)
全23件を見るIT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
NoSQL(非リレーショナルデータベース)
固定スキーマを持たない非リレーショナル型データベースの総称。ドキュメント型・キーバリュー型・カラム型・グラフ型などがあり、水平スケーリングと柔軟なデータ構造が特徴。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。
MySQL(マイSQL)
オープンソースのリレーショナルデータベース管理システム。WordPressをはじめ多くのWebアプリに採用され、読み取りパフォーマンスが高く導入が容易なRDBMSの定番。
ORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。
IT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。