SuperAPI AI 工具集

grdb

前端与建站

查看项目

更新于 10-15 23:34

技能介绍

用途:GRDB 技能面向需要在 Swift 中直接使用 SQLite 的场景,基于 GRDB.swift 这一类型安全的 Swift 封装,在保留完整 SQLite 能力的同时提供类型安全支持。当需要编写原生 SQL、处理跨 4 张以上表的复杂连接、使用窗口函数(如 ROW_NUMBER、RANK)、进行性能敏感的原生 SQL 查询,或使用 ValueObservation 实现响应式查询时,应选用 GRDB;而类型安全的 @Table 模型、需要 CloudKit 同步的场景则更适合 SQLiteData。

主要能力:涵盖数据库连接设置(DatabaseQueue 单连接或 DatabasePool 并发读取)、原生 SQL 与 QueryInterface 查询、Record 类型(Codable、FetchableRecord、PersistableRecord)、ValueObservation 响应式查询与 SwiftUI 集成、DatabaseMigrator 迁移与模式演进,以及通过 EXPLAIN QUERY PLAN、索引和性能分析进行优化。

使用方式:先选择 DatabaseQueue 或 DatabasePool,再用 DatabaseMigrator 定义迁移,创建 Record 类型,编写查询,并用 ValueObservation 实现响应式更新。资料建议在内容可能被用到时始终加载参考文件,包括 Getting Started、Queries、Value Observation、Migrations、Performance 等。

适用场景:复杂多表连接、窗口函数、性能关键的原生 SQL、响应式查询与 SwiftUI 集成。

限制与要求:需要 iOS 13+、macOS 10.15+、Swift 5.7+、GRDB.swift 6.0+。常见错误包括未用 EXPLAIN QUERY PLAN 就假设性能、WHERE 子句缺少索引、迁移顺序不当、Record 协议实现不完整,以及未正确清理 ValueObservation 导致内存泄漏。具体安装命令与更多细节暂未提供。