Skip to main content

prisma-upgrade-v7-accelerate-users

Prisma Accelerate Users

跳到安装

来源信息

仓库
prisma/cursor-plugin
最近来源活动
2026年2月6日 14:17
检测到的 SKILL.md 语言
英语
星标
9
分支
1

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
prisma-upgrade-v7-accelerate-users
description
Prisma Accelerate Users
license
MIT
metadata
{"author":"prisma","version":"7.0.0"}
# Prisma Accelerate Users Special migration instructions for users of Prisma Accelerate or Prisma Postgres with `prisma://` or `prisma+postgres://` URLs. ## Important **Do NOT pass Accelerate URLs to driver adapters.** Driver adapters (like `PrismaPg`) expect direct database connection strings. They will fail with `prisma://` or `prisma+postgres://` URLs. ## Correct v7 Setup for Accelerate ### 1. Keep your Accelerate URL ```env # .env DATABASE_URL="prisma://accelerate.prisma-data.net/?api_key=..." # or DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/..." ``` ### 2. Install Accelerate extension ```bash npm install @prisma/extension-accelerate ``` ### 3. Configure prisma.config.ts ```typescript import 'dotenv/config' import { defineConfig, env } from 'prisma/config' export default defineConfig({ schema: 'prisma/schema.prisma', datasource: { url: env('DATABASE_URL'), // Accelerate URL works here }, }) ``` ### 4. Instantiate client with accelerateUrl ```typescript import { PrismaClient } from '../generated/client' import { withAccelerate } from '@prisma/extension-accelerate' // Use accelerateUrl instead of adapter export const prisma = new PrismaClient({ accelerateUrl: process.env.DATABASE_URL, }).$extends(withAccelerate()) ``` ## What NOT to Do ```typescript // ❌ WRONG - Don't use adapter with Accelerate URL import { PrismaPg } from '@prisma/adapter-pg' const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL // This will fail with prisma:// }) ``` ## Migrations with Accelerate For migrations, you may need a direct database connection: ### Option 1: Use Accelerate URL for everything Accelerate URLs work with Prisma CLI commands: ```bash # Works with Accelerate URL prisma migrate deploy prisma db push ``` ### Option 2: Use direct URL for migrations ```env DATABASE_URL="prisma+postgres://..." # For app DIRECT_DATABASE_URL="postgresql://..." # For migrations ``` ```typescript // prisma.config.ts export default defineConfig({ datasource: { url: env('DIRECT_DATABASE_URL'), // Direct URL for CLI }, }) ``` ## Prisma Postgres (Cloud) If using Prisma Postgres cloud database: ### Same approach ```typescript import { PrismaClient } from '../generated/client' import { withAccelerate } from '@prisma/extension-accelerate' export const prisma = new PrismaClient({ accelerateUrl: process.env.DATABASE_URL, // prisma+postgres:// URL }).$extends(withAccelerate()) ``` ## Switching Away from Accelerate If you later switch to direct TCP connection: ```typescript // Change from accelerateUrl to adapter import { PrismaClient } from '../generated/client' import { PrismaPg } from '@prisma/adapter-pg' const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL // Direct postgres:// URL }) export const prisma = new PrismaClient({ adapter }) ``` ## Caching with Accelerate The extension enables caching: ```typescript const users = await prisma.user.findMany({ cacheStrategy: { ttl: 60, // Cache for 60 seconds swr: 120, // Stale-while-revalidate for 120 seconds }, }) ``` ## Edge Runtime Accelerate works great in edge runtimes: ```typescript // Works in Vercel Edge, Cloudflare Workers, etc. import { PrismaClient } from '../generated/client' import { withAccelerate } from '@prisma/extension-accelerate' export const prisma = new PrismaClient({ accelerateUrl: process.env.DATABASE_URL, }).$extends(withAccelerate()) ```
在 GitHub 查看