AppleやLinuxのアプリ向けに、クエリビルダーと型付きデータアクセスを提供するSQLite3用の型安全なSwiftレイヤーです。
groue/GRDB.swift
アプリ開発向けに、レコードの永続化、クエリインターフェース、マイグレーション、データベース監視を提供するSQLite用Swiftツールキット。
- スター
- 8,726
- フォーク
- 1,108
- 未解決の Issue
- 13
- 最終コミット
- 3 日前
これは何?
GRDB.swiftは、アプリケーションのデータをSQLiteデータベースに保存するためのSwiftライブラリです。Swiftの構造体やクラスをテーブルに対応付け、取得や永続化のためのメソッドを使えます。一般的な操作ではSQLを記述したり、生の行データを扱ったりせずに済みますが、必要に応じて生のSQLも記述できます。
リクエストを組み立てるためのSwiftクエリインターフェース、アプリのリリースをまたいでスキーマを変更するマイグレーションシステム、全文検索機能を備えています。データベース監視では、保存された値が変更されると通知が送られ、Swift Concurrency、Combine、RxSwiftとの連携機能も用意されています。データベース接続にはDatabaseQueueとDatabasePoolがあり、後者はWALモードを使って読み書きの並行処理に対応します。
GRDBはiOS、macOS、tvOS、watchOSに対応し、Swift Package Manager、CocoaPods、または手動で導入できます。SwiftUIとの連携やデータベース内容のスナップショットテストには、関連ライブラリを利用できます。
主な機能
- 01Swiftの構造体やクラスをテーブルに対応付け、組み込みの取得・永続化メソッドを利用できます。
- 02SQLリクエストを組み立てるSwiftクエリインターフェースを備え、安全な引数バインディングを使った生のSQLにも対応します。
- 03アプリのバージョンをまたいでデータベースを変更するスキーママイグレーション。
- 04変更を通知するデータベース監視機能。Combine、RxSwift、非同期シーケンスに対応します。
- 05DatabaseQueueとDatabasePoolの接続タイプを提供し、WALモードで読み書きの並行処理に対応します。
- 06全文検索と、オプションのSQLCipher暗号化。
ユースケース
- iOSまたはmacOSアプリでユーザーデータやモデルを永続化する。
- データベースの変更を監視し、SwiftUIやUIKitのビューを最新の状態に保つ。
- マイグレーションで、アプリのリリースを重ねる中でのスキーマ変更を管理する。
- SQLiteにデータをローカル保存するオフラインファーストのアプリを構築する。
クイックスタート
- 1
リポジトリのURLを使い、Swift Package ManagerでGRDBをプロジェクトに追加します
- 2
GRDBをインポートして、データベース接続を開きます
使う前に知っておきたいこと
- Appleプラットフォーム(iOS、macOS、tvOS、watchOS)を対象とし、Swift 6.1以降が必要です。
- Carthageには対応しておらず、CocoaPodsでは新しいバージョンを配布できないため、以降のリリースではgitのブランチまたはタグを使った回避策が必要です。
収録されている特集
トピック
よくある質問
- GRDB.swift とは?
- アプリ開発向けに、レコードの永続化、クエリインターフェース、マイグレーション、データベース監視を提供するSQLite用Swiftツールキット。 GRDB.swiftは、アプリケーションのデータをSQLiteデータベースに保存するためのSwiftライブラリです。Swiftの構造体やクラスをテーブルに対応付け、取得や永続化のためのメソッドを使えます。一般的な操作ではSQLを記述したり、生の行データを扱ったりせずに済みますが、必要に応じて生のSQLも記述できます。
- GRDB.swift は無料で使えますか?ライセンスは?
- GRDB.swift は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- GRDB.swift は今もメンテナンスされていますか?
- 活発にメンテナンス中。GRDB.swift の最終コミットは 2026年11月5日 です。
- GRDB.swift は何に使えますか?
- iOSまたはmacOSアプリでユーザーデータやモデルを永続化する。 データベースの変更を監視し、SwiftUIやUIKitのビューを最新の状態に保つ。 マイグレーションで、アプリのリリースを重ねる中でのスキーマ変更を管理する。 SQLiteにデータをローカル保存するオフラインファーストのアプリを構築する。
- GRDB.swift のインストール方法は?
- リポジトリのURLを使い、Swift Package ManagerでGRDBをプロジェクトに追加します GRDBをインポートして、データベース接続を開きます
- GRDB.swift はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/groue/GRDB.swift
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Node.jsなどのJSプラットフォームで使えるTypeScript/JavaScript向けORM。多くのSQL・NoSQLデータベースに対応し、Active RecordとData Mapperの両パターンをサポートします。
PostgreSQL、MySQL、SQLite、MariaDBに対応し、クエリをコンパイル時に検証できる、Rust向けの安全で拡張可能なORM兼クエリビルダーです。
iOS、macOS、watchOS、tvOSアプリ向けに、AppleのCore Dataを型安全かつ並行処理に安全なAPIでラップするSwiftライブラリ。
AppleプラットフォームとLinuxでOpenAIの公開APIを利用でき、OpenAI互換プロバイダーにも対応するSwiftパッケージです。
SQL・NoSQLデータベースに対応し、AIチャットとMCPサーバーを搭載した、macOS・iOS向けの無料オープンソースネイティブDBクライアント。