Skip to main content

sqlite-skill

用于平台中立的 SQLite 数据层设计与审查,包括 schema、SQL、migration、事务、索引、PRAGMA/WAL/FTS/JSON、同步持久化、备份恢复、limits 和安全。当用户明确提到 SQLite/sqlite,或需要判断本地关系型数据库是否适合 SQLite 时使用;不要用于未指定 SQLite 的 IndexedDB、localStorage、key-value storage 或服务端数据库任务。

Zur Installation springen

Quellinformationen

Repository
SnowBeatRain/skills
Letzte Quellaktivität
12. Mai 2026 um 11:54
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
2
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
33 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
sqlite-skill
description
用于平台中立的 SQLite 数据层设计与审查,包括 schema、SQL、migration、事务、索引、PRAGMA/WAL/FTS/JSON、同步持久化、备份恢复、limits 和安全。当用户明确提到 SQLite/sqlite,或需要判断本地关系型数据库是否适合 SQLite 时使用;不要用于未指定 SQLite 的 IndexedDB、localStorage、key-value storage 或服务端数据库任务。
# SQLite Skill ## 意图 帮助 Agent 独立处理 SQLite 相关的数据层问题:数据库设计、SQL 编写、迁移、事务、索引、同步、性能、安全和可靠性。 本 skill **只负责 SQLite 与离线数据工程本身**。如果业务项目还涉及具体框架、端平台、插件封装或 UI 工程,由用户主动指定或另行调用对应能力;本 skill 不主动耦合其他 skill。 如果用户明确指定要做 uni-app / UTS 的三端 SQLite 插件,可另行使用 `sqlite-uniapp-uts` 处理插件工程与平台 Adapter;本 skill 只提供 SQLite 数据层规则。 ## 触发场景 - SQLite 建表、查询、索引、事务、迁移、`PRAGMA`、`EXPLAIN QUERY PLAN`。 - 本地数据库、离线缓存、offline-first、同步队列、软删除、冲突处理。 - SQLite 性能、安全、SQL 注入、敏感数据、数据库文件、备份恢复、多账号隔离。 - 需要设计 DAO、Repository、LocalDatabase adapter、QueryBuilder、sync engine、migration runner、health check。 - 需要判断 SQLite 与 IndexedDB、WebSQL、localStorage、文件存储或服务端数据库的边界。 ## 非目标 - 不负责具体业务框架的页面、组件、路由、构建、插件封装或平台 API 细节。 - 不默认任何运行端支持 SQLite;只给 SQLite 数据层方案与能力核查清单。 - 不把浏览器、移动端、桌面端、后端脚本、嵌入式设备混为同一运行环境。 - 不写完整 SQLite 教程;细节按需读取 references。 ## 维护与复用约定 本 skill 遵循仓库 README 的通用规范:中文优先、自包含、渐进式披露、验证再交付。修改或分发本 skill 时读取 `references/repository-usage.md`;只复制/打包整个 `skills/sqlite-skill/` 目录,不只复制 `SKILL.md`。 ## 核心原则 1. 先确认运行环境:SQLite CLI、Node、移动端 wrapper、桌面端、浏览器 WASM、后端脚本或其他宿主。 2. 先确认 SQLite 版本、编译选项、wrapper 暴露能力、文件系统限制和测试环境。 3. 先确认数据规模、读写频率、同步方式、账号/租户隔离、隐私等级和冲突策略。 4. SQL 示例必须使用 SQLite 兼容语法;不确定宿主 API 时只给通用 SQL 与架构,并说明以具体 wrapper 文档为准。 5. 外部输入必须参数化;动态表名、列名、排序字段必须白名单化。 6. 离线功能必须同时考虑初始化、迁移、事务、同步队列、软删除、重试、冲突和状态恢复。 7. SQLite 不是加密存储;敏感数据默认不明文落库。 8. `PRAGMA foreign_keys = ON` 需每个连接启用并查询确认;PRAGMA 拼错可能被静默忽略。 9. 不把 `INSERT OR REPLACE` / `REPLACE INTO` 当安全 upsert;优先考虑 `ON CONFLICT DO UPDATE` 并确认 SQLite 版本。 10. 不滥用 `AUTOINCREMENT`;先理解 `INTEGER PRIMARY KEY`、rowid、NULL、布尔值和类型亲和性。 11. WAL、FTS5、JSON1/JSONB、SQLCipher、STRICT table、`RETURNING`、backup API 不承诺在所有运行环境可用,必须检测版本/编译选项/wrapper 能力。 12. 对跨宿主项目,只定义平台中立 Adapter 契约;具体平台 API、插件封装和条件编译由用户另行指定。 ## 工作流 ### 1. 运行环境与能力核查 读取 `references/overview.md`、`references/runtime-boundaries.md`、`references/pragmas-and-diagnostics.md`。 1. 确认宿主环境、SQLite 版本、扩展支持和 wrapper API。 2. 区分 SQLite、IndexedDB、WebSQL、key-value storage、文件存储、服务端 RDBMS。 3. 确认数据库文件路径、沙盒/权限、备份、升级、低磁盘空间和崩溃恢复限制。 4. 执行或规划能力探测:SQLite 版本、编译选项、关键 PRAGMA、扩展模块和 wrapper 限制。 ### 2. Schema / 建表设计 读取 `references/schema-design.md`、`references/data-types-and-affinity.md`、`references/constraints-and-indexes.md`。 1. 明确实体、字段、主键、唯一约束、外键、时间格式和生命周期。 2. 离线同步场景区分本地 id、服务端 id、客户端幂等 key。 3. 设计 `sync_status`、`deleted_at`、`version`、`created_at`、`updated_at` 等字段。 4. 为高频 `WHERE`、`JOIN`、`ORDER BY` 字段添加索引。 5. 输出 `CREATE TABLE`、`CREATE INDEX` 和迁移说明。 ### 3. Adapter / DAO / SQL 编写与优化 读取 `references/adapters-and-api-contracts.md`、`references/querybuilder-and-dao.md`、`references/sql-basics.md`、`references/performance.md`。涉及全文搜索、JSON 或批处理时再读取 `references/fts5-and-search.md`、`references/json-and-generated-columns.md`、`references/limits-and-batching.md`。 1. 判断 SQL 类型:DDL、DML、查询、事务或诊断。 2. 需要跨宿主时,先给最小 `LocalDatabase` 契约,再实现 DAO / Repository。 3. 使用参数绑定占位符,不拼接用户输入。 4. 动态排序、列名和表名必须白名单化;QueryBuilder 只生成受控 SQL 片段。 5. 对复杂查询说明索引、分页和查询计划。 6. 批量写入必须放在事务中。 7. 警惕 `LIKE '%xxx%'`、大偏移 `OFFSET`、未分页全表读。 ### 4. 数据迁移 读取 `references/migrations.md`。 1. 用 `PRAGMA user_version` 或 `schema_migrations` 管理版本。 2. 从旧版本顺序升级到最新版,迁移放事务中。 3. 复杂表结构变更使用建新表、复制、删旧表、重命名、重建索引模式。 4. 覆盖新装建库、旧库升级、重复启动、迁移失败恢复。 ### 5. 离线同步 读取 `references/sync-patterns.md`、`references/common-recipes.md`。 1. 明确同步方向、同步粒度、幂等 key、软删除和冲突策略。 2. 本地业务写入和 outbox/sync queue 状态更新放在同一事务。 3. 网络恢复后先处理待上传,再拉取远端增量,避免覆盖本地未同步数据。 4. 设计失败重试、重复提交、部分成功、崩溃恢复和用户可见状态。 ### 6. 安全与可靠性 读取 `references/security.md`、`references/transactions-and-concurrency.md`、`references/backup-and-restore.md`、`references/pitfalls.md`。 1. 参数化查询、防注入、动态标识符白名单、日志脱敏。 2. 多用户/多租户数据隔离,退出登录和切换账号时清理敏感缓存。 3. 需要加密时调研 SQLCipher、系统安全存储或宿主平台安全能力。 4. 关注 SQLite 单写多读、WAL、锁等待、崩溃恢复和备份一致性。 ## References | 场景 | 读取 | |---|---| | SQLite 总览 | `references/overview.md` | | 运行环境边界 | `references/runtime-boundaries.md` | | Adapter 与 API 契约 | `references/adapters-and-api-contracts.md` | | 连接生命周期 | `references/connection-lifecycle.md` | | Statement 与参数绑定 | `references/statement-and-binding.md` | | 结果集映射 | `references/result-set-mapping.md` | | 统一错误模型 | `references/error-model.md` | | DAO / QueryBuilder | `references/querybuilder-and-dao.md` | | PRAGMA 与诊断 | `references/pragmas-and-diagnostics.md` | | SQL 基础 | `references/sql-basics.md` | | 表结构设计 | `references/schema-design.md` | | 数据类型 | `references/data-types-and-affinity.md` | | 约束与索引 | `references/constraints-and-indexes.md` | | 事务与并发 | `references/transactions-and-concurrency.md` | | 备份与恢复 | `references/backup-and-restore.md` | | 数据库迁移 | `references/migrations.md` | | 性能优化 | `references/performance.md` | | FTS5 与搜索 | `references/fts5-and-search.md` | | JSON 与生成列 | `references/json-and-generated-columns.md` | | Limits 与批处理 | `references/limits-and-batching.md` | | 同步模式与冲突 | `references/sync-patterns.md` | | 安全 | `references/security.md` | | 常用模板 | `references/common-recipes.md` | | 避坑 | `references/pitfalls.md` | | 官方文档索引 | `references/official-docs-map.md` | | 能力检测 | `references/capability-detection.md` | | C API 与 wrapper 映射 | `references/c-api-and-wrappers.md` | | sqlite3 CLI | `references/cli.md` | | 错误码与诊断 | `references/errors-and-diagnostics.md` | | 功能版本矩阵 | `references/feature-matrix.md` | | 测试检查清单 | `references/testing.md` | | 仓库复用与维护 | `references/repository-usage.md` | ## 交付检查清单 - [ ] 已确认宿主环境、SQLite wrapper/API、版本、编译选项和扩展支持。 - [ ] 跨宿主项目已隔离平台中立 Adapter 契约与具体平台实现。 - [ ] 已区分 SQLite、IndexedDB、WebSQL、key-value storage、文件存储、服务端数据库。 - [ ] 已覆盖新装建库、旧库升级、重复启动、迁移失败恢复。 - [ ] 已验证事务回滚、同步重复提交、软删除、冲突和网络失败重试。 - [ ] 已评估数据库文件路径、权限、备份、卸载/清理、升级、低磁盘空间。 - [ ] 已确认 SQL 参数绑定、动态标识符白名单、DAO 事务边界和日志脱敏。 - [ ] 已规划健康检查:`integrity_check` / `quick_check`、数据库大小、关键 PRAGMA、慢查询和最近同步错误。 - [ ] 已评估备份恢复、WAL/checkpoint、limits/批处理、FTS5/JSON 等能力是否被宿主支持。 - [ ] 已规划目标宿主的真实环境验证,不用模拟环境替代关键端侧验证。
Auf GitHub ansehen