DrizzleORM数据库专家Skill drizzle

Drizzle ORM 技能提供专业的数据库操作支持,涵盖类型安全架构设计、高效SQL查询、数据库迁移管理、表关系实现以及多数据库方言配置。关键词:Drizzle ORM,数据库架构,类型安全查询,SQL,数据库迁移,后端开发,Node.js,TypeScript。

后端开发 0 次安装 0 次浏览 更新于 2/26/2026

name: drizzle description: Drizzle ORM 模式、数据库迁移、类型安全查询和数据库架构设计。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

Drizzle 技能

提供使用 Drizzle ORM 进行数据库操作的专家级协助。

能力

  • 定义类型安全的数据库架构
  • 编写高性能的 SQL 查询
  • 处理数据库迁移
  • 实现表间关系
  • 配置多种数据库方言

架构定义

import { pgTable, text, timestamp, uuid, varchar } from 'drizzle-orm/pg-core';
import { relations } from 'drizzle-orm';

export const users = pgTable('users', {
  id: uuid('id').primaryKey().defaultRandom(),
  name: varchar('name', { length: 255 }).notNull(),
  email: varchar('email', { length: 255 }).notNull().unique(),
  createdAt: timestamp('created_at').defaultNow().notNull(),
});

export const posts = pgTable('posts', {
  id: uuid('id').primaryKey().defaultRandom(),
  title: varchar('title', { length: 255 }).notNull(),
  content: text('content'),
  authorId: uuid('author_id').references(() => users.id),
});

export const usersRelations = relations(users, ({ many }) => ({
  posts: many(posts),
}));

查询示例

// 带关系的查询
const result = await db.query.users.findMany({
  with: { posts: true },
  where: eq(users.name, 'John'),
});

// 插入数据
await db.insert(users).values({ name: 'John', email: 'john@example.com' });

// 更新数据
await db.update(users).set({ name: 'Jane' }).where(eq(users.id, id));

目标流程

  • 数据库设置
  • 后端开发
  • Next.js 全栈开发