用途:该技能面向 TypeScript 数据库层开发,适用于 Drizzle ORM v0.44+(PostgreSQL、MySQL、SQLite),覆盖 schema 定义、类型安全查询、迁移与关系。不覆盖数据库驱动配置、连接池配置及其他 ORM。假定使用 Drizzle Kit v0.31+、TypeScript v5+ 严格模式与 ESM。
主要能力:用 pgTable、mysqlTable、sqliteTable 定义带类型列的 schema,列类型匹配数据库约束;用 index() 定义索引;PostgreSQL 推荐 identity 列(generatedAlwaysAsIdentity);用 eq、and、or、like 等构建类型安全查询;复杂关系优先用 db.query.* 关系查询构建器;用 $inferSelect、$inferInsert 做类型推断;用数据库事务保证多步操作原子性;用预编译语句优化高频查询;用 DrizzleQueryError 做结构化错误处理。
使用方式:用 drizzle-kit generate 生成迁移、drizzle-kit migrate 执行迁移,生产环境避免 push。连接示例使用 drizzle-orm/node-postgres 与 pg 的 Pool,并传入 schema;Drizzle Kit 通过 defineConfig 配置 dialect、schema、out、dbCredentials 等。组织上按领域拆分 schema 文件,优先使用查询辅助函数而非原始 SQL,避免手工类型断言与过度索引,仅按需加载字段。
适用场景与限制:可与 Next.js Server Components、API 路由及 fastify 配合。PG schema 测试可用 PGLite。资料未提供具体驱动安装命令、依赖版本以外的价格或平台信息。