
prisma-upgrade-v7-prisma-config
✓ Official★ 8by prisma · part of prisma/cursor-plugin
Prisma Config. Reference when using this Prisma feature.
Prisma Config. Reference when using this Prisma feature.
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by prisma
Prisma Config. Reference when using this Prisma feature.
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-prisma-config
Download ZIPGitHub8
Prisma Config
Prisma v7 introduces prisma.config.ts as the central configuration file for the Prisma CLI.
Location
Place prisma.config.ts at your project root (next to package.json).
Full Example
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
// Schema location
schema: 'prisma/schema.prisma',
// Migration configuration
migrations: {
path: 'prisma/migrations',
seed: 'tsx prisma/seed.ts',
},
// Database connection
datasource: {
url: env('DATABASE_URL'),
directUrl: env('DIRECT_DATABASE_URL'),
shadowDatabaseUrl: env('SHADOW_DATABASE_URL'),
},
})
Environment Variables
The env() helper
Use env() to reference environment variables:
import { env } from 'prisma/config'
datasource: {
url: env('DATABASE_URL'),
}
This provides type safety but does NOT load .env files automatically.
Loading .env files
Install and import dotenv:
npm install dotenv
import 'dotenv/config' // Must be first import
import { defineConfig, env } from 'prisma/config'
Migrating from v6
Before (v6) - schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL")
}
After (v7) - prisma.config.ts
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
datasource: {
url: env('DATABASE_URL'),
directUrl: env('DIRECT_URL'),
},
})
And update schema.prisma:
datasource db {
provider = "postgresql"
// URLs now in prisma.config.ts
}
Custom Config Path
Use --config flag with CLI commands:
prisma migrate dev --config ./config/prisma.config.ts
npm install dotenvRun this in your project — your agent picks the skill up automatically.
Basic Configuration
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'),
},
})
Configuration Options
schema
Path to your Prisma schema file:
schema: 'prisma/schema.prisma'
datasource.url
Database connection URL:
datasource: {
url: env('DATABASE_URL'),
}
datasource.directUrl
Direct connection URL (bypassing connection pooler):
datasource: {
url: env('DATABASE_URL'),
directUrl: env('DIRECT_DATABASE_URL'),
}
datasource.shadowDatabaseUrl
Shadow database for migrations:
datasource: {
url: env('DATABASE_URL'),
shadowDatabaseUrl: env('SHADOW_DATABASE_URL'),
}
migrations.path
Directory for migration files:
migrations: {
path: 'prisma/migrations',
}
migrations.seed
Seed command for prisma db seed:
migrations: {
path: 'prisma/migrations',
seed: 'tsx prisma/seed.ts',
}
Monorepo Configuration
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
import path from 'path'
export default defineConfig({
schema: path.join(__dirname, 'packages/database/prisma/schema.prisma'),
migrations: {
path: path.join(__dirname, 'packages/database/prisma/migrations'),
},
datasource: {
url: env('DATABASE_URL'),
},
})
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.