ページ内ナビ
概要
golang-migrate/migrateはdatabase migration用のCLI兼Go libraryです。filesystemやembedded/remote sourceからmigrationを読み込み、PostgreSQL、MySQL、SQLite、MongoDB、Spanner、ClickHouse等のdatabase driverへversion順に適用します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
up/downとversion管理をCLIまたはlibraryから実行する
migration versionを追跡し、up/downや指定versionへの移動をCLI・Go APIから実行できます。失敗時にはdirty stateを保持して意図しない継続適用を防ぎます。
出典:[2]
migration sourceとdatabase driverを分離して複数backendへ対応する
filesystem、io/fs、cloud storage等のsource driverと、PostgreSQL、PGX、MySQL、SQLite、MongoDB、Spanner、ClickHouse等のdatabase driverを組み合わせられます。
出典:[2]
向いている用途
application deploymentとdatabase schema versionを明示的に同期したい場合に向く
CI/CDやrelease jobでschema changeを順序管理し、複数database種別でも同じmigration workflowを持ちたいbackend teamに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]golang-migrate/migrate — GitHub repository(2026-10-06)
- [2]golang-migrate v4.20.1 — README(2026-10-06)
- [3]golang-migrate v4.20.1 — go.mod(2026-10-06)
- [4]golang-migrate v4.20.1 release(2026-10-06)
- [5]golang-migrate MIT license(2026-10-06)
編集部からの補足
CLIとlibraryの両方を使え、migration sourceとdatabase driverを分離した構成です。productionではmigration fileのimmutable運用、down可否、dirty state復旧、複数instanceからの同時実行防止をdeployment手順として決めてください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/golang-migrate/migrate.git - 2
リポジトリへ移動
cd migrate - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
18,954 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 7
- Open PR
- 180
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Diesel14,193 Stars
共通タグ 4件 · 共通カテゴリ 1件
Rustの型システムでSQL queryとschemaを検証するORM・Query Builder
Rust - node-postgres13,219 Stars
共通タグ 4件 · 共通カテゴリ 1件
Node.jsからPostgreSQLへpool・parameterized query・LISTEN/NOTIFYまで直接接続する
JavaScript - MySQL Server12,441 Stars
共通タグ 4件 · 共通カテゴリ 1件
InnoDB transaction・SQL・replication・backup/HAを提供するOracle管理のrelational database server
C++ - SeaORM9,914 Stars
共通タグ 4件 · 共通カテゴリ 1件
非同期query・relation・migrationをまとめて扱うRust向けrelational ORM
Rust - Postgres.js8,728 Stars
共通タグ 4件 · 共通カテゴリ 1件
tagged templateでparameterized SQLを安全に組み立てる軽量PostgreSQL client
JavaScript - MariaDB Server8,320 Stars
共通タグ 4件 · 共通カテゴリ 1件
MySQL protocol互換・複数storage engine・replication・native vector searchを備えるSQL database
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。