SuperAPI AI 工具集

drizzle

编程与开发

查看项目

更新于 10-15 21:49

技能介绍

用途:Drizzle ORM 是轻量、类型安全的 TypeScript ORM,直接映射 SQL 语法,具备零运行时开销、快速冷启动和边缘运行时支持。适用于 TypeScript 优先的对象关系映射、无服务器与边缘运行时(Next.js、Cloudflare Workers、Bun、Supabase、AWS Lambda)、需要精确控制的关系型数据库(PostgreSQL、MySQL、SQLite),以及模式即代码与声明式迁移。

主要能力:使用 pgTable 等声明式定义类型安全表结构与外键关系,通过 relations 声明一对多、多对一关系;提供关系查询 API(db.query)与类 SQL 查询构建器(select/update/insert),支持 eq、desc、and 等过滤与 .returning();drizzle-kit 负责迁移生成、应用与内省,配置在 drizzle.config.ts 中定义 schema、out、dialect、dbCredentials 等。

使用方式:定义 schema.ts 后,用 drizzle(process.env.DATABASE_URL) 初始化客户端,再执行查询。迁移常用命令:npx drizzle-kit generate 与 npx drizzle-kit migrate;CI 中可运行 drizzle-kit check 和 drizzle-kit generate 检测模式差异。

最佳实践:将模式拆分为模块化领域文件并集中导出;嵌套关系读取用 db.query,变更与批量操作用查询构建器;外键显式指定 onDelete 级联;插入后需读取时用 .returning() 避免多次往返;无服务器边缘处理器中复用客户端实例;不要在同一模式中混用多种 SQL 方言。

常见问题:relation 不存在通常因未生成或推送迁移;query 属性类型错误通常因初始化未传入 schema;唯一约束冲突可用 .onConflictDoNothing() 或 .onConflictDoUpdate()。

限制:资料未提供收费、价格、平台支持范围等具体信息,暂未提供。