ページ内ナビ
概要
gooseはdatabase schemaをincrementalに変更するCLI兼Go libraryです。SQL migrationとGo function migration、embedded migration、out-of-order適用、seed、environment variable置換等を提供し、Postgres、MySQL、SQLite、Spanner、ClickHouse、MSSQL等へ対応します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
SQLとGo functionのmigrationを同じversion workflowで管理する
timestampまたはsequential numberのmigrationを作成し、up、down、up-to、down-to、redo、status等のcommandでschema versionを進退できます。
出典:[2]
向いている用途
Go applicationと同じrepositoryでschema migrationを管理したいteamに向く
CLI単体だけでなくlibraryとしてapplicationへ組み込み、SQLとGo codeの両方でmigrationを表現したいbackend projectに適します。
出典:[2]
導入前の確認
v3.28.0からminimum Go 1.26。driver別schema table変更とlockingを確認する
v3.28.0のgo.modはGo 1.26を指定します。releaseではAzure SQL driver、MySQL/MariaDB table lockerが追加され、ClickHouse version tableのORDER BYやMySQL/TiDB timestamp column型も新規table向けに変更されています。upgrade時はversion table schema、lock、driver-specific behaviorを確認してください。
参考にした公式資料
- [1]pressly/goose — GitHub repository(2026-10-06)
- [2]goose v3.28.0 — README(2026-10-06)
- [3]goose v3.28.0 — go.mod(2026-10-06)
- [4]goose v3.28.0 release(2026-10-06)
- [5]goose MIT license(2026-10-06)
編集部からの補足
SQLだけでなくGo function migrationも扱え、embedded migrationやseedにも対応します。productionではmigration fileの順序・不可変性、lock方式、transaction可否、driver build tagをdeployment方式に合わせて固定してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/pressly/goose.git - 2
リポジトリへ移動
cd goose - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
11,544 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 3
- Open PR
- 44
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- PostgreSQL22,283 Stars
共通タグ 4件 · 共通カテゴリ 1件
transaction・constraint・index・custom type/functionをSQLの整合性モデルへ統合するobject-relational database
C - 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
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。