sqlitedata-extensions-playbook は何をしますか?
2026年におけるSwift SQLiteDataの主要代替案 – 最高のGRDBスキルキット
概要
このプレイブックは、Swift向けSQLiteラッパーライブラリであるSQLiteDataの主要な代替案を2026年版としてまとめたものです。特にGRDB(GroundedDB)に焦点を当て、他の代替ライブラリ(SQLite.swift、FMDB、CloudKit、Core Data)と比較しながら、プロジェクトに最適なデータベースソリューションを選択するための実践的なガイドを提供します。
サポート対象プラットフォーム
- Claude Code
- Cursor
- Codex
- その他のAIエージェント
含まれるスキルと機能
-
GRDBのセットアップと基本操作
- プロジェクトへのGRDBの導入
- データベース接続と基本クエリ
- CRUD操作(作成、読み取り、更新、削除)
-
GRDBの高度な機能
- マイグレーション
- トランザクション
- クエリビルダー
- 複合結合とサブクエリ
-
代替ライブラリとの比較
- SQLite.swiftとの比較
- FMDBとの比較
- CloudKitとの比較
- Core Dataとの比較
なぜGRDBなのか?
GRDBは、Swiftの型安全性を活かした強力なSQLiteラッパーであり、以下の特徴を持ちます。
- 型安全なクエリ – コンパイル時にエラーを検出
- リアクティブ拡張 – Combineとの統合
- 柔軟なマイグレーション – データベーススキーマの段階的な変更
- パフォーマンス – バルクインサートやインデックス最適化
クイックスタート
import GRDB
// データベース接続を開く
let dbQueue = try DatabaseQueue(path: "/path/to/database.sqlite")
// テーブル作成
try dbQueue.write { db in
try db.create(table: "players") { t in
t.autoIncrementedPrimaryKey("id")
t.column("name", .text).notNull()
t.column("score", .integer).notNull()
}
}
// レコード挿入
struct Player: Codable, FetchableRecord, MutablePersistableRecord {
var id: Int64?
var name: String
var score: Int
}
var player = Player(id: nil, name: "Alice", score: 100)
try dbQueue.write { db in
try player.insert(db)
}
// レコード取得
let players: [Player] = try dbQueue.read { db in
try Player.fetchAll(db)
}
ライセンス
このプレイブックはMITライセンスのもとで提供されます。
貢献
バグ報告や機能リクエストは、GitHubリポジトリのIssueでお知らせください。