该技能用于把遗留数据模型迁移为现代、类型安全的数据访问层,核心技术栈为 TypeScript 与 Zod,并结合原生 MongoDB 驱动。使用前需先按检查清单推进:一、分析审计规格,定位并阅读 docs/legacy-audit/Data_Models.md,识别主要实体及其一对多、多对多关系、校验规则(必填字段、正则、最小最大值)以及需要手工迁移到服务层的遗留中间件钩子(如 pre-save、post-remove)。二、执行数据完整性审计,在写代码前用新的 Zod 模式对遗留数据库中的真实记录跑校验,找出脏数据缺口(旧记录缺必填字段、类型不一致),再用 z.optional() 或 .nullable() 保持与遗留数据兼容。三、初始化数据库连接,创建 src/lib/db/mongodb.ts,连接串通常通过 .env.local 中的 MONGODB_URI 指向遗留应用数据库,并采用单例模式导出缓存的客户端 Promise,避免 Next.js 开发热更新时连接过多。四、定义 Zod 模式与 TypeScript 类型,分别创建 src/lib/models/schema.ts 与 src/lib/models/types.ts,先写 Zod 做运行时校验,再用 z.infer<typeof Schema> 自动推导类型;将遗留 ORM 关系(如 Mongoose Refs)改写成基于原生驱动 ObjectId 的关联逻辑。五、实现数据访问工具,创建 src/lib/models/utils.ts,把原先埋在 ORM 中的逻辑(密码哈希、复杂查询、虚拟字段计算)抽取为纯函数,因为原生驱动没有模型方法,所有逻辑必须以数据对象为参数。任务要求会随工具版本更新,具体命令、配置字段与依赖版本以实际资料为准,本文未提供的细节暂未提供。
scaffolding-data-layer
数据与分析
更新于 10-15 21:54