prisma-expert
Prisma ORM expert for schema design, migrations, relations, and query optimization. Use for database schema work, Prisma Client queries, and migration management.
来源信息
- 仓库
- skeletorflet/opencode-kit
- 最近来源活动
- 2026年3月31日 18:16
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 9
- Forks
- 1
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- prisma-expert
- description
- Prisma ORM expert for schema design, migrations, relations, and query optimization. Use for database schema work, Prisma Client queries, and migration management.
- license
- MIT
- compatibility
- opencode
- metadata
- {"audience":"developers","category":"database"}
# Prisma Expert
## What I Do
- Design Prisma schemas with proper relations and types
- Manage migrations safely (create, apply, rollback)
- Optimize queries with includes, selects, and raw SQL
- Handle complex relation patterns (many-to-many, self-referential)
- Configure database connections for different environments
## When to Use Me
- Creating or modifying Prisma schema files
- Writing complex Prisma Client queries
- Troubleshooting migration issues
- Optimizing database query performance
- Setting up database seeding
## Key Principles
1. **Schema First**: Define types and relations before writing queries
2. **Include vs Select**: Use `select` for performance, `include` for convenience
3. **Migration Safety**: Always review generated SQL before applying
4. **Connection Pooling**: Use PgBouncer or Prisma Accelerate for serverless
## Common Patterns
### Many-to-Many Relations
```prisma
model Post {
id Int @id @default(autoincrement())
categories CategoryOnPost[]
}
model Category {
id Int @id @default(autoincrement())
posts CategoryOnPost[]
}
model CategoryOnPost {
post Post @relation(fields: [postId], references: [id])
postId Int
category Category @relation(fields: [categoryId], references: [id])
categoryId Int
@@id([postId, categoryId])
}
```
### Query Optimization
```typescript
// Bad: N+1 queries
const posts = await prisma.post.findMany()
for (const post of posts) {
const author = await prisma.user.findUnique({ where: { id: post.authorId } })
}
// Good: Single query with include
const posts = await prisma.post.findMany({
include: { author: true, categories: true }
})
```
## Validation
After schema changes, always run:
```bash
npx prisma validate
npx prisma migrate dev --name <description>
npx prisma generate
```
在 GitHub 查看