Repolode
groue

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. 1

    リポジトリのURLを使い、Swift Package ManagerでGRDBをプロジェクトに追加します

  2. 2

    GRDBをインポートして、データベース接続を開きます

使う前に知っておきたいこと

  • Appleプラットフォーム(iOS、macOS、tvOS、watchOS)を対象とし、Swift 6.1以降が必要です。
  • Carthageには対応しておらず、CocoaPodsでは新しいバージョンを配布できないため、以降のリリースではgitのブランチまたはタグを使った回避策が必要です。

収録されている特集

トピック

#sqlite#swift#orm#database-observation#sql-builder#ios#macos#database#grdb#spm

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト