npx skills add ...
npx skills add prisma/cursor-plugin --skill prisma-upgrade-v7-accelerate-users
npx skills add prisma/cursor-plugin --skill prisma-upgrade-v7-accelerate-users
Prisma Accelerate Users
Special migration instructions for users of Prisma Accelerate or Prisma Postgres with prisma:// or prisma+postgres:// URLs.
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.
For migrations, you may need a direct database connection:
Accelerate URLs work with Prisma CLI commands:
If using Prisma Postgres cloud database:
If you later switch to direct TCP connection:
The extension enables caching:
Accelerate works great in edge runtimes:
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())// โ 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://
})# Works with Accelerate URL
prisma migrate deploy
prisma db pushDATABASE_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
},
})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())// 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 })const users = await prisma.user.findMany({
cacheStrategy: {
ttl: 60, // Cache for 60 seconds
swr: 120, // Stale-while-revalidate for 120 seconds
},
})// 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())