Upgrade to Prisma ORM 7 Complete guide for migrating from Prisma ORM v6 to v7. This upgrade introduces significant breaking changes including ESM-only support, required driver adapters, and a new configuration system. When to Apply Reference this skill when: Upgrading from Prisma v6 to v7 Updating to the prisma-client generator Setting up driver adapters Configuring prisma.config.ts Fixing import errors after upgrade Rule Categories by Priority Priority Category Impact Prefix 1 Schema Migration CRITICAL schema-changes 2 Database Connectivity CRITICAL driver-adapters 3 Module System CRITICAL esm-support 4 Config and Env HIGH prisma-config , env-variables 5 Removed Features HIGH removed-features 6 Accelerate HIGH accelerate-users Quick Reference schema-changes - generator and output migration for Prisma v7 driver-adapters - required adapter installation and client wiring esm-support - package/module requirements for ESM prisma-config - creating and using prisma.config.ts env-variables - explicit environment loading removed-features - removed middleware, metrics, and flags accelerate-users - migration notes for Accelerate users Important Notes MongoDB not yet supported in v7 - Continue using v6 for MongoDB Node.js 20.19.0+ required TypeScript 5.4.0+ required Upgrade Steps Overview Update packages to v7 Configure ESM in package.json Update TypeScript configuration Update schema generator block Create prisma.config.ts Install and configure driver adapter Update Prisma Client imports Update client instantiation Remove deprecated code (middleware, env vars) Run generate and test Quick Upgrade Commands
Update packages
npm install @prisma/client@7 npm install -D prisma@7
Install driver adapter (PostgreSQL example)
npm install @prisma/adapter-pg
Install dotenv for env loading
npm install dotenv
Regenerate client
npx prisma generate Breaking Changes Summary Change v6 v7 Module format CommonJS ESM only Generator provider prisma-client-js prisma-client Output path Auto (node_modules) Required explicit Driver adapters Optional Required Config file .env + schema prisma.config.ts Env loading Automatic Manual (dotenv) Middleware $use() Client Extensions Metrics Preview feature Removed Rule Files Detailed migration guides for each breaking change: references/esm-support.md - ESM module configuration references/schema-changes.md - Generator and schema updates references/driver-adapters.md - Required driver adapter setup references/prisma-config.md - New configuration file references/env-variables.md - Environment variable loading references/removed-features.md - Middleware, metrics, and CLI flags references/accelerate-users.md - Special handling for Accelerate Step-by-Step Migration 1. Update package.json for ESM { "type" : "module" } 2. Update tsconfig.json { "compilerOptions" : { "module" : "ESNext" , "moduleResolution" : "bundler" , "target" : "ES2023" , "strict" : true , "esModuleInterop" : true } } 3. Update schema.prisma // Before (v6) generator client { provider = "prisma-client-js" } // After (v7) generator client { provider = "prisma-client" output = "../generated" } 4. Create prisma.config.ts import 'dotenv/config' import { defineConfig , env } from 'prisma/config' export default defineConfig ( { schema : 'prisma/schema.prisma' , migrations : { path : 'prisma/migrations' , } , datasource : { url : env ( 'DATABASE_URL' ) , } , } ) 5. Install driver adapter
PostgreSQL
npm install @prisma/adapter-pg
MySQL
npm install @prisma/adapter-mariadb mariadb
SQLite
npm install @prisma/adapter-better-sqlite3
Prisma Postgres
npm install @prisma/adapter-ppg @prisma/ppg
Neon
npm install @prisma/adapter-neon 6. Update client instantiation // Before (v6) import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient ( ) // After (v7) import { PrismaClient } from '../generated/client' import { PrismaPg } from '@prisma/adapter-pg' const adapter = new PrismaPg ( { connectionString : process . env . DATABASE_URL } ) const prisma = new PrismaClient ( { adapter } ) 7. Run migrations and generate npx prisma generate npx prisma migrate dev
if needed
Troubleshooting "Cannot find module" errors Check output path in generator block matches import path Ensure prisma generate ran successfully SSL certificate errors Add ssl: { rejectUnauthorized: false } to adapter config Or properly configure SSL certificates Connection timeout issues Driver adapters use different pool defaults Configure pool settings explicitly on the adapter Resources Official v7 Upgrade Guide Driver Adapters Documentation Prisma Config Reference How to Use Follow references/schema-changes.md and references/driver-adapters.md first, then apply the remaining reference files based on your project setup.