Agent Skills
返回列表
💻

Drizzle ORM TypeScript SQL 数据库工具包

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/drizzle-orm-typescript-sql-database-toolkit。

技能介绍

在 TypeScript 项目中,开发者常面临类型安全与 SQL 控制之间的权衡。传统 ORM 可能过度抽象,导致复杂查询难以表达;而手写 SQL 虽灵活,却缺乏类型检查,容易引入运行时错误。Drizzle ORM TypeScript SQL 数据库工具包正是为解决这一矛盾而设计。

核心能力

  • 类型安全的 schema 声明:通过 TypeScript 类型系统定义表结构,例如用 pgTable 声明 PostgreSQL 表,字段类型与数据库类型一一对应,编译时即可捕获类型错误。
  • 双查询构建器:提供关系型查询(如 db.query.users.findMany())和 SQL-like 查询(如 db.select().from(users))两种风格,适应不同场景的偏好。
  • 自动迁移生成:通过 drizzle-kit 生成 SQL 迁移文件,无需手动编写 DDL,降低人为错误风险。
  • 轻量无依赖:压缩后仅 7.4kb,零依赖,适合对包体积敏感的项目,尤其是 serverless 环境。

关键步骤

  1. 声明 schema:在 TypeScript 中定义表结构,例如 export const users = pgTable('users', { id: serial('id').primaryKey(), name: text('name').notNull() })。
  2. 选择查询风格:根据需求选择关系型或 SQL-like 查询,例如 db.query.users.findMany() 或 db.select().from(users).where(eq(users.id, 1))。
  3. 生成迁移:运行 drizzle-kit generate 自动生成迁移 SQL,提交到代码库后由 CI/CD 执行。
  4. 连接 serverless 数据库:支持 Neon、Turso、Cloudflare D1 等,通过适配层处理连接池与事务边界。

适用边界与注意点

  • 安装与来源:当前技能包未提供源码级安装指引,建议在敏感工作流前审查上游项目(https://github.com/1991513ccie-png/skills)的代码与依赖。
  • 轻量不等于功能阉割:虽体积小,但 Drizzle ORM 覆盖了从简单 CRUD 到复杂事务的场景,但需验证特定数据库方言(如 MySQL 的 JSON 类型)的支持程度。
  • 迁移生成是便利,不是银弹:自动生成的迁移文件需人工复核,尤其是涉及数据回滚或破坏性变更时。
  • 多数据库方言的权衡:支持 PostgreSQL、MySQL、SQLite 是优势,但不同数据库的特性差异(如 PostgreSQL 的数组类型与 MySQL 的枚举)需在 schema 设计时明确处理。

使用场景

  • 在 TypeScript 项目中声明 PostgreSQL 表结构,需要字段类型与数据库类型严格对应以避免编译错误
  • 构建涉及多表关联的复杂查询,需用关系型查询构建器表达 JOIN 逻辑并保持类型安全
  • 在 serverless 环境部署数据库应用,需轻量级 ORM 控制冷启动时间和包体积
  • 自动生成数据库迁移脚本,需通过 drizzle-kit 生成 DDL 并提交到代码库由 CI/CD 执行

适合人员

  • 后端开发工程师:需要在 TypeScript 项目中实现类型安全的数据库操作,减少 ORM 抽象带来的 SQL 控制困难
  • 全栈 TypeScript 开发者:构建 serverless 应用时需轻量级工具避免项目体积膨胀,同时支持多数据库方言
  • 数据库迁移维护人员:需自动生成可审查的迁移文件,降低手动编写 DDL 的人为错误风险
  • 技术架构师:在多数据库项目中寻找平衡类型安全与 SQL 灵活性的 ORM 方案,评估对 PostgreSQL、MySQL、SQLite 的支持