Skip to main content

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 查看