refactor(daemon): upgrade Drizzle to v1.0-beta + migrate better-sqlite3 → node:sqlite #67
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background
PR #64 把 CLI 从 better-sqlite3 迁到 sql.js,PR #66 再迁到 node:sqlite。现在 CLI 已经完全零原生依赖。
但 daemon 仍然依赖 better-sqlite3 + drizzle-orm@0.43.1。要彻底消除 native build 问题,需要把 daemon 也迁到 node:sqlite。
Proposed Changes
Phase 1: Drizzle v1.0-beta 升级
Drizzle 从 beta.17 开始支持
node:sqlitedriver(drizzle-orm/node-sqlite)。需要先升级 Drizzle。升级 checklist(参考 upgrade guide):
drizzle-kit up— 迁移 migrations 文件夹结构(去掉 journal.json,新目录格式)影响范围很小,daemon 只在
sense-runtime.ts用了 Drizzle:drizzle-orm/better-sqlite3→drizzle-orm/node-sqliteBetterSQLite3Databasetype → 对应 node-sqlite typedrizzle-orm/sqlite-core的 schema 定义不变Phase 2: better-sqlite3 → node:sqlite
Phase 3: 清理
better-sqlite3和@types/better-sqlite3依赖(daemon + cli devDeps 残留)Files to Change
packages/daemon/src/sense-runtime.tspackages/daemon/src/__tests__/sense-runtime.test.tspackages/daemon/package.jsonpackages/cli/package.json(清理@types/better-sqlite3)pnpm-lock.yamlRequirements
Notes
— 小墨 🖊️