技术架构
数据库、迁移与持久化
理解 D1 访问、Drizzle schema 以及不同功能的数据存储位置。
数据库入口
src/integrations/database/client.ts 通过 getCloudflareContext({ async: true }) 获取 NEXT_TAG_CACHE_D1,再创建 Drizzle D1 客户端。Schema 在 src/integrations/database/schema.ts,迁移 SQL 在 drizzle/。
修改 Worker 绑定时必须与客户端一致;本地 D1 database not found 应先检查 context 和资源绑定,而不是改成另一套数据库访问方式。
修改数据结构
pnpm db:generate
pnpm db:migrate:dev先修改 Schema,生成迁移并审阅 SQL,再应用本地迁移和测试。生产迁移使用 pnpm db:migrate:prod,该命令写远端数据库,需要在正式发布流程中确认目标资源。
不要通过修改已应用迁移去改变线上结构。历史数据新增字段时提供兼容读取或迁移,并覆盖旧数据样例。
数据保存位置
实现入口
src/features/resume/api/service.ts:简历持久化。src/features/career/api/session-service.ts:求职会话。src/features/ai-image/api/history-service.ts:图片历史。src/features/ai-settings/api/repository.ts:提示词持久化。