ページ内ナビ
概要
BunはSQL-firstを掲げるGo ORMです。database/sql上でSelect/Insert/Update/Delete query builder、struct model mapping、relationship、bulk operation、migration、query hook、OpenTelemetry連携を提供し、PostgreSQL・MySQL/MariaDB・SQLite・MSSQL・Oracleへ対応します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
SQLに近いquery builderで複雑なqueryを型付きGo codeから構成する
CTE、JOIN、subquery、group、bulk operation等をSQLに近い形で組み立て、resultをstruct、map、scalar、sliceへscanできます。
出典:[2]
relationship・migration・query hook・OpenTelemetryまでdata layerへ統合する
struct tagでrelationshipを定義し、migration package、debug query hook、OpenTelemetry hook等を利用してschemaとruntime observabilityを同じecosystemで扱えます。
出典:[2]
向いている用途
ORMの利便性を使いつつSQL表現とdatabase/sql互換性を重視するbackendに向く
PostgreSQL/MySQL/SQLite等でSQLを明示的に設計しながら、model mappingとquery compositionのboilerplateを減らしたいGo serviceに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]uptrace/bun — GitHub repository(2026-10-06)
- [2]Bun v1.3.0 — README(2026-10-06)
- [3]Bun v1.3.0 — go.mod(2026-10-06)
- [4]Bun v1.3.0 — CHANGELOG(2026-10-06)
- [5]Bun v1.3.0 release(2026-10-06)
- [6]Bun BSD-2-Clause license(2026-10-06)
編集部からの補足
ORMでSQLを隠すのではなく、SQLの構造を保ったquery builderとmodel mappingを提供します。v1.3.0にはTLS検証やSQL injection対策を含むsecurity/breaking変更があるため、1.2系からのupgradeでは特にdriver・migration・query formattingを確認してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/uptrace/bun.git - 2
リポジトリへ移動
cd bun - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
4,984 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 21
- Open PR
- 9
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- golang
- go
- orm
- sql
- mysql
- postgresql
- sqlite
- sqlite3
- database
- mssql
- oracle
- Stars
- 4,984
- Forks
- 308
- Watchers
- 31
- Open Issues
- 24
- Contributors
- 128
- 所有者種別
- Organization
- 主要言語
- Go
- ライセンス
- BSD-2-Clause
- リポジトリ最終更新
- 2026/10/03
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- asyncpg8,098 Stars
共通タグ 3件 · 共通カテゴリ 2件
asyncioからPostgreSQLのbinary protocolを直接扱う高性能Pythonドライバ
Python - jOOQ6,794 Stars
共通タグ 3件 · 共通カテゴリ 2件
SQLをJavaの型安全なDSLとして組み立て、データベース定義からコードを生成するライブラリ
Java - Sequel5,098 Stars
共通タグ 3件 · 共通カテゴリ 2件
Dataset DSL・Model・migrationを一つにまとめ、SQLの構造を保ってRubyからdatabaseを扱う
Ruby - Alembic4,431 Stars
共通タグ 3件 · 共通カテゴリ 2件
SQLAlchemyのモデル差分をDBスキーマ変更として履歴管理するマイグレーションツール
Python - sqlc18,348 Stars
共通タグ 5件 · 共通カテゴリ 2件 · 同じ言語
SQLをsource of truthにして型安全なdata-access codeを生成するSQL compiler
Go - golang-migrate18,954 Stars
共通タグ 5件 · 共通カテゴリ 1件 · 同じ言語
CLIとGo libraryから複数databaseへversioned migrationを順序適用する
Go
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。