Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计未展示

prisma-ormPrisma ORM 搜索

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

190

周安装

8

GitHub Stars

公开资料未说明

下载量

67
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:prisma-orm(Prisma ORM 搜索)
来源仓库:https://github.com/toilahuongg/google-antigravity-kit
仓库路径:skills/prisma-orm
安装命令:
npx skills add toilahuongg/google-antigravity-kit --skill "prisma-orm"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add toilahuongg/google-antigravity-kit --skill "prisma-orm"

简介

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。

  • 适合分析 schema、编写 SQL、排查查询问题或生成迁移建议。
  • 使用时需明确数据库类型、连接环境和目标表,区分只读分析与写入变更。
  • 涉及删除、更新或迁移时,应优先 dry-run、备份或事务保护,避免误操作。
  • 安装前请确认权限范围和维护状态,注意是否会触发文件读写或命令执行。

SKILL.md

name
prisma-orm
description
Best practices for using Prisma ORM with Remix and Shopify (2025-2026 Edition). Covers schema design, migrations, and performance.

Prisma ORM Best Practices (2025-2026)

This skill provides guidelines and snippets for using Prisma ORM effectively in Shopify Apps built with Remix.

1. Setup & Configuration

Installation

npm install prisma --save-dev
npm install @prisma/client
npx prisma init

Recommended schema.prisma Config

Use the postgresql provider (standard for Shopify apps) or mysql. Enable improving-tracing and other preview features if needed, but stick to stable for production.

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
  // Useful features for 2025+
  previewFeatures = ["driverAdapters", "metrics"]
}

// Standard Shopify Session Model
model Session {
  id          String    @id
  shop        String
  state       String
  isOnline    Boolean   @default(false)
  scope       String?
  expires     DateTime?
  accessToken String
  userId      BigInt?
}

2. Singleton Pattern for Remix

In development, Remix reloads the server, which can exhaust database connections if you create a new PrismaClient on every reload. Use the singleton pattern.

// app/db.server.ts
import { PrismaClient } from "@prisma/client";

const globalForPrisma = globalThis as unknown as { prisma: PrismaClient };

export const prisma = globalForPrisma.prisma || new PrismaClient();

if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;

3. Schema Design Best Practices

Use BigInt for Shopify IDs

Shopify IDs (Product ID, Order ID) exceed 32-bit integers.

  • BAD: Int
  • GOOD: BigInt (or String if you don't need math operations)
model Product {
  id          BigInt   @id // Matches Shopify's ID
  shop        String
  title       String
  // ...
  @@index([shop]) // Always index by shop for multi-tenancy
}

Multi-tenancy

Every query MUST filter by shop. This is non-negotiable for security.

  • Tip: Use Prisma Middleware or Extensions to enforce this, or just be disciplined in your Service layer.

4. Migrations Workflow

NEVER use prisma db push in production.

  • Development:
  npx prisma migrate dev --name init_tables
  • Production (CI/CD):
  npx prisma migrate deploy

5. Performance Optimization

Select Specific Fields

Don't use findMany without select if you only need a few fields.

// BAD: Fetches massive JSON blobs
const products = await prisma.product.findMany();

// GOOD
const products = await prisma.product.findMany({
  select: { id: true, title: true }
});

Transactions

Use $transaction for dependent writes (e.g., creating an Order and its LineItems).

await prisma.$transaction(async (tx) => {
  const order = await tx.order.create({ ... });
  await tx.lineItem.create({ ... });
});

Connection Pooling

For serverless or high-concurrency environments (like Remix on Vercel/Fly), use a connection pooler (Supabase Pooler, PgBouncer, or Prisma Accelerate).

6. Common Recipes

Upsert (Create or Update)

Perfect for syncing data from Webhooks.

await prisma.user.upsert({
  where: { id: 1 },
  update: { email: " [email protected] " },
  create: { id: 1, email: " [email protected] " },
});

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

windsurf

28.31%
按下载量换算19

OpenCode

25.17%
按下载量换算17

Codex

19.25%
按下载量换算13

Claude Code

12.45%
按下载量换算8

Antigravity

8.39%
按下载量换算6

Gemini CLI

3.03%
按下载量换算2

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills