スキル prisma-expert
📦

prisma-expert

安全 ⚙️ 外部コマンド🔑 環境変数

Domine o Prisma ORM para Desenvolvimento de Banco de Dados

Tendo problemas com erros de schema Prisma, conflitos de migração ou consultas lentas de banco de dados? Esta skill fornece orientação especializada para design de schema, gerenciamento de migração e otimização de consultas em PostgreSQL, MySQL e SQLite.

対応: Claude Codex Code(CC)
📊 71 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「prisma-expert」を使用しています。 Schema com relação many-to-many implícita causando problemas de performance

期待される結果:

Identificada relação many-to-many implícita entre os modelos User e Post. Recomendação: Criar modelo Join explícito com campos adicionais para metadados. Adicionadas diretivas @relation com convenção de nomenclatura clara. Adicionado índice composto em chaves estrangeiras para performance de join.

「prisma-expert」を使用しています。 Consulta N+1 em endpoint de listagem de usuários buscando posts individualmente

期待される結果:

Detectado padrão de consulta N+1. Solução: Substituir buscas individuais de posts por única consulta usando relação include. Reduzido de 101 consultas para 1 consulta. Adicionado select para limitar campos retornados. Estimada redução de 95% em round-trips de banco de dados.

セキュリティ監査

安全
v1 • 2/24/2026

Static analysis flagged 88 patterns that are all false positives for this legitimate Prisma ORM helper skill. External commands are standard Prisma CLI operations (validate, migrate, generate). Network references are documentation URLs. Environment access is limited to DATABASE_URL and NODE_ENV configuration required for database connectivity. No malicious patterns, credential exfiltration, or dangerous code execution detected.

1
スキャンされたファイル
361
解析された行数
3
検出結果
1
総監査数
低リスクの問題 (1)
External Command Execution
Skill executes shell commands via npx prisma CLI for environment detection and database operations. All commands are legitimate Prisma tooling with hardcoded arguments.
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
31
コミュニティ
100
セキュリティ
91
仕様準拠

作れるもの

Desenvolvedor Full-Stack Construindo uma Aplicação SaaS

Projete um schema Prisma escalável com modelos adequados de usuário, assinatura e cobrança. Crie fluxos de trabalho seguros de migração para implantações em produção e otimize consultas para performance do dashboard.

Tech Lead Resolvendo Conflitos de Migração

Depure migrações conflitantes de múltiplos desenvolvedores. Aprenda a usar prisma migrate resolve, consolidar histórico de migração e estabelecer fluxos de trabalho em equipe para prevenir conflitos futuros.

Engenheiro de Backend Otimizando Performance de API

Identifique e corrija problemas de consulta N+1 em APIs REST ou GraphQL. Implemente padrões adequados de select e include, adicione índices estratégicos e configure pool de conexões para endpoints de alto tráfego.

これらのプロンプトを試す

Revisão de Design de Schema
Revise meu schema Prisma para melhores práticas. Verifique definições de relações, uso de índices e tipos de campo. Sugira melhorias para performance e manutenibilidade.
Depuração de Migração
Minha migração Prisma falhou com erro [colar erro]. O banco de dados está em estado inconsistente. Ajude-me a diagnosticar o problema e forneça comandos passo a passo para resolvê-lo.
Otimização de Consulta
Tenho esta consulta Prisma que está lenta [colar consulta]. Analise-a para problemas N+1, over-fetching e índices ausentes. Mostre-me a versão otimizada com explain.
Configuração de Pool de Conexões
Estou implantando em [Vercel/AWS Lambda/Render] e estou obtendo erros de conexão. Ajude-me a configurar o pool de conexões Prisma para meu ambiente serverless com os parâmetros DATABASE_URL corretos.

ベストプラクティス

  • Sempre use @relation explícita com fields e references para clareza e para prevenir problemas de resolução de relações
  • Habilite log de consultas em desenvolvimento para identificar consultas lentas e problemas N+1 cedo
  • Use migrate dev apenas em desenvolvimento - sempre use migrate deploy para produção com pipelines CI/CD

回避

  • Usar relações many-to-many implícitas quando você precisa armazenar metadados na tabela de junção
  • Chamar prisma.user.findMany() e então fazer loop para buscar dados relacionados - causa consultas N+1
  • Executar migrate dev em produção que pode causar perda de dados e não é idempotente

よくある質問

Como reseto meu banco de dados de desenvolvimento sem perder dados de produção?
Use npx prisma migrate reset apenas em desenvolvimento. Este comando dropa o banco de dados, reaplica todas as migrações e reseed. Nunca execute isto em produção. Para produção, crie uma nova migração com as alterações necessárias.
Qual é a diferença entre prisma migrate dev e prisma migrate deploy?
migrate dev é para desenvolvimento - ele cria arquivos de migração, aplica-os e reseta em divergência de schema. migrate deploy é para produção - ele apenas aplica migrações pendentes sem criar novos arquivos ou resetar. Nunca use migrate dev em produção.
Como resolvo conflitos de migração quando múltiplos desenvolvedores criam migrações?
Use prisma migrate resolve para marcar migrações conflitantes como aplicadas ou revertidas. Para conflitos complexos, você pode precisar editar manualmente arquivos SQL de migração. Estabeleça um fluxo de trabalho em equipe onde desenvolvedores fazem pull e aplicam migrações antes de criar novas.
Por que estou obtendo erros de muitas conexões em produção?
Seu pool de conexões está esgotado. Adicione connection_limit ao seu DATABASE_URL (ex: connection_limit=5). Para serverless, use uma instância global de PrismaClient para reutilizar conexões. Para apps de alto tráfego, considere PgBouncer ou pool de conexões do seu provedor de nuvem.
O Prisma pode funcionar com bancos de dados existentes?
Sim. Use npx prisma db pull para introspectar um banco de dados existente e gerar um schema. Revise e personalize o schema gerado, então execute npx prisma generate para criar o client. Você também pode usar prisma migrate para gerenciar alterações futuras de schema.
Como manipulo transações de banco de dados no Prisma?
Use prisma.$transaction com um array para operações sequenciais, ou uma função callback para transações interativas com lógica de negócio. Configure opções de maxWait, timeout e isolationLevel. Esteja ciente de que transações interativas seguram conexões por mais tempo.

開発者の詳細

ファイル構成

📄 SKILL.md