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 全栈开发