prisma-upgrade-v7-accelerate-users
작성자: prisma
Prisma Accelerate 사용자
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-accelerate-usersPrisma 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
DATABASE_URL="prisma://accelerate.prisma-data.net/?api_key=..."
# or
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/..."
2. Install Accelerate extension
npm install @prisma/extension-accelerate
3. Configure prisma.config.ts
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
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
// ❌ 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:
# Works with Accelerate URL
prisma migrate deploy
prisma db push
Option 2: Use direct URL for migrations
DATABASE_URL="prisma+postgres://..." # For app
DIRECT_DATABASE_URL="postgresql://..." # For migrations
// 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
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:
// 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:
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:
// 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())
prisma의 다른 스킬
prisma-cli-migrate-status
prisma
prisma 마이그레이션 상태
official
prisma-cli-studio
prisma
prisma studio. 이 Prisma 기능을 사용할 때 참고하세요.
official
prisma-cli-validate
prisma
prisma 검증. 이 Prisma 기능을 사용할 때 참조하세요.
official
prisma-cli-db-execute
prisma
prisma db execute. 이 Prisma 기능을 사용할 때 참고하세요.
official
prisma-cli-db-pull
prisma
prisma-cli-db-pull — AI 에이전트용 설치 가능한 스킬, prisma/cursor-plugin에서 게시함.
official
prisma-cli-db-push
prisma
prisma db push. 이 Prisma 기능을 사용할 때 참고하세요.
official
prisma-cli-db-seed
prisma
prisma db seed. 이 Prisma 기능을 사용할 때 참고하세요.
official
prisma-cli-debug
prisma
Prisma 디버그. 이 Prisma 기능을 사용할 때 참조하세요.
official