ページ内ナビ
概要
GRDBはSQLite databaseをSwift applicationから扱うtoolkitです。DatabaseQueue/DatabasePool、SQL実行、Codable record、query interface、database observation、schema migrationを提供し、raw SQLと高level APIを用途に応じて併用できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
DatabaseQueue/PoolからSQL・record・query interfaceを使い分ける
DatabaseQueueまたはDatabasePoolでconnectionを開き、raw SQL、Row/value fetch、FetchableRecord/PersistableRecord、Swift query interfaceを同じdatabase layerで利用できます。
出典:[2]
observationとmigrationでapp databaseの変更・schema進化を管理する
ValueObservationでdatabase変更を監視し、Swift concurrencyやCombineなどへ接続できます。migration機能でapplication versionに合わせたschema変更も管理できます。
出典:[2]
向いている用途
Core Data以外の選択肢としてSQLiteを直接活用したいiOS appに向く
SQLの柔軟性を残しつつSwift model、concurrency、observationを組み合わせたいlocal-first applicationやoffline cacheに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]groue/GRDB.swift — GitHub repository(2026-10-06)
- [2]GRDB 7.11.1 — README(2026-10-06)
- [3]GRDB 7.11.1 — Package.swift(2026-10-06)
- [4]GRDB 7.11.1 release(2026-10-06)
- [5]GRDB MIT license(2026-10-06)
編集部からの補足
SQLの柔軟性を保ちながらSwift model・observation・migrationを使いたいlocal-first iOS appに向きます。current releaseはSPM導入が素直です。
3ステップで試す
- 1
GRDB 7.11.1をSwiftPMへ追加する
確認済みreleaseを固定します。iOS 13以上・Swift tools 6.1が前提です。
.package(url: "https://github.com/groue/GRDB.swift.git", exact: "7.11.1") - 2
SQLite database connectionを開く
READMEの基本例に沿ってDatabaseQueueからSQLite databaseを開きます。
import GRDB let dbQueue = try DatabaseQueue(path: "/path/to/database.sqlite") - 3
tableを作りrecordをinsertする
write transaction内でschema作成とparameterized SQLによるinsertを確認します。
try dbQueue.write { db in try db.create(table: "player") { t in t.primaryKey("id", .text) t.column("name", .text).notNull() } try db.execute(sql: "INSERT INTO player (id, name) VALUES (?, ?)", arguments: ["1", "Arthur"]) }
成長
成長の推移 · 直近30日
8,676 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 7
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Tauri111,593 Stars
共通タグ 2件 · 共通カテゴリ 2件
web frontendとRust native layerをsystem WebView上のdesktop/mobile appへまとめる
Rust - Firebase Apple SDK6,926 Stars
共通タグ 4件 · 共通カテゴリ 2件
Auth・Firestore・Messaging・CrashlyticsなどFirebase servicesをApple appへ統合するSDK群
C++ - Lottie for iOS26,894 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
After Effects由来のJSON・.lottieアニメーションをApple platformでnative描画する
Swift - Moya15,353 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
TargetTypeでAPI endpointを型として定義し、通信・stub・pluginを統一する
Swift - The Composable Architecture14,952 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
State・Action・Reducer・Storeを軸にSwiftUI/UIKitのfeatureを合成可能に設計する
Swift - Nuke8,676 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
remote画像をImagePipelineで取得・処理・cacheし、SwiftUI/UIKitへ表示する
Swift
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。