用途:为项目提供 SQLite 数据库的建库、模式设计、迁移与查询实践,并给出 Prisma、Drizzle 及原生 SQL 三种接入路径。
主要能力:按项目是否检测到 ORM 分流到 Prisma、Drizzle 或原生 SQL 章节;提供性能 PRAGMA 设置、索引与 EXPLAIN QUERY PLAN 检查、分页与 upsert、FTS5 全文检索、JSON 函数、无 ORM 的编号迁移方案,以及 Electron/Tauri 的 .env 路径处理。
使用方式:原生 Node.js 可安装 sqlite3 或 better-sqlite3,Python 内置 sqlite3 无需安装;Prisma 用 npx prisma init --datasource-provider sqlite,随后 npx prisma migrate dev --name init、npx prisma generate、npx prisma studio;Drizzle 安装 drizzle-orm better-sqlite3 与 drizzle-kit,用 npx drizzle-kit generate、migrate、studio。每个新连接应执行 journal_mode=WAL、synchronous=NORMAL、foreign_keys=ON 等 PRAGMA。
适用场景:本地机器应用、Electron/Tauri 桌面应用、原型与开发环境、单用户工具与 CLI、低写入并发、需要便携分发 .db 文件的应用。
限制:不适合多进程同时写入、高并发 Web 应用,以及需要 PostGIS 或高级 PostgreSQL 扩展的场景;SQLite 默认不强制外键,需手动开启;无原生日期类型,建议用 INTEGER 或 TEXT 存储;INTEGER PRIMARY KEY 已是 rowid 别名,非必要不用 AUTOINCREMENT。完成后需在 progress.txt 的 BUILD 阶段追加 database、orm、schema_complete、migrations_run 等字段。