データベースマイグレーション
データベースのスキーマ(テーブル構造)変更をバージョン管理し、順序立てて適用する仕組み。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件を見るデータベースインデックス(索引)
データベースの検索速度を向上させるためのデータ構造。B木・ハッシュ・全文検索等の種類があり、適切なインデックス設計はクエリパフォーマンスを劇的に改善する。
MongoDB(モンゴDB)
ドキュメント型NoSQLデータベースの代表格。JSONに似たBSON形式でデータを格納し、スキーマレスで柔軟なデータ管理と水平スケーリングを実現する。Node.jsとの親和性が高い。
IT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
IT用語: PostgreSQLとは|拡張性と標準準拠で選ばれるオープンソースRDBMS
高度な機能・拡張性・SQL標準への準拠で知られるオープンソースのリレーショナルデータベースPostgreSQLを解説。
ACID特性(トランザクション4要件)
データベーストランザクションの信頼性を保証する4つの特性。原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の頭文字をとった概念。
IT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。