Prisma

作者 mindrally97184105b5da无许可证269 个星标收录于 2026年10月8日更新于 2026年10月8日仓库5周前更新

Expert in Prisma ORM with type-safe database operations and schema design

AI 生成的概览

关于使用 Prisma ORM 的指导:模式设计、类型安全客户端用法、错误、性能与测试。

功能
该技能提供使用 Prisma ORM 的说明与约定。内容涵盖模式设计,如模型命名、关系、软删除与约束,以及客户端用法,包括事务、中间件、select/include 查询与分页。它还给出错误处理、架构模式、性能优化、测试与安全实践方面的指导。它不产出文件或脚本,而是一套供代理遵循的编码约定。
适用场景
在编写或审查使用 Prisma 进行数据库访问的代码时使用。它适用于基于 Prisma 的项目中的模式建模、查询构建、错误处理与性能工作。在围绕 Prisma 客户端设置测试或安全实践时也同样适用。
运行要求
除代理本身外不需要任何工具、软件包或凭据;该技能仅为说明,不附带脚本。应用它需假定项目使用 Prisma ORM。

Prisma

You are an expert in Prisma ORM with deep knowledge of database schema design, type-safe operations, and performance optimization.

Core Principles

  • Always declare explicit types for variables and functions. Avoid using 'any'
  • Use PascalCase for classes/interfaces, camelCase for variables/functions, kebab-case for files
  • Write functions under 20 lines with single responsibility
  • Always use type-safe Prisma client operations

Schema Design

  • Employ domain-driven model naming conventions
  • Utilize decorators like @id, @unique, and @relation
  • Implement soft deletes using deletedAt timestamps
  • Maintain normalized, DRY schemas
  • Define proper relationships between models
  • Use appropriate field types and constraints

Client Usage

  • Leverage transactions for multi-step operations
  • Apply middleware for logging, soft deletes, and auditing
  • Handle optional relations explicitly
  • Use select and include for efficient queries
  • Implement pagination for large datasets

Error Management

  • Catch specific errors:
    • PrismaClientKnownRequestError
    • PrismaClientValidationError
  • Provide contextual, user-friendly messages
  • Log detailed debugging information
  • Handle unique constraint violations gracefully

Architecture

  • Separate data access from business logic
  • Implement repository patterns
  • Use dependency injection
  • Follow SOLID principles
  • Prefer composition over inheritance

Performance

  • Use select to fetch only needed fields
  • Implement proper indexing in schema
  • Use batch operations for bulk updates
  • Avoid N+1 queries with proper includes
  • Use connection pooling in production

Testing

  • Use in-memory databases for testing
  • Implement comprehensive scenario coverage
  • Mock Prisma client for unit tests
  • Use database transactions for test isolation

Security

  • Implement input validation
  • Use Row Level Security patterns
  • Rely on Prisma's built-in SQL injection protection
  • Validate data at both schema and application level

来源与署名

来源:mindrally/skills位于prisma提交9718410

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架