prisma-upgrade-v7-driver-adapters

द्वारा prisma

ड्राइवर एडेप्टर। इस Prisma सुविधा का उपयोग करते समय संदर्भ लें।

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-driver-adapters

Driver Adapters

Prisma v7 requires driver adapters for all database connections. This replaces the built-in Rust query engine.

Why Driver Adapters?

  • No more binary downloads
  • Smaller bundle size
  • Better serverless/edge compatibility
  • Uses native Node.js database drivers
  • More control over connection pooling

Available Adapters

DatabaseAdapter PackageUnderlying Driver
PostgreSQL@prisma/adapter-pgpg
MySQL / MariaDB@prisma/adapter-mariadbmariadb
SQLite@prisma/adapter-better-sqlite3better-sqlite3
Prisma Postgres@prisma/adapter-ppg@prisma/ppg
SQL Server@prisma/adapter-mssqlmssql
Neon@prisma/adapter-neon@neondatabase/serverless
PlanetScale@prisma/adapter-planetscale@planetscale/database
Turso/libSQL@prisma/adapter-libsql@libsql/client
D1 (Cloudflare)@prisma/adapter-d1Cloudflare D1

Installation

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

SQL Server

npm install @prisma/adapter-mssql mssql

Configuration

PostgreSQL

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 })

MySQL

import { PrismaClient } from '../generated/client'
import { PrismaMariaDb } from '@prisma/adapter-mariadb'

const adapter = new PrismaMariaDb({
  host: 'localhost',
  port: 3306,
  connectionLimit: 5,
  user: process.env.MYSQL_USER,
  password: process.env.MYSQL_PASSWORD,
  database: process.env.MYSQL_DATABASE,
})

const prisma = new PrismaClient({ adapter })

SQLite

import { PrismaClient } from '../generated/client'
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'

const adapter = new PrismaBetterSqlite3({
  url: process.env.DATABASE_URL || 'file:./dev.db'
})

const prisma = new PrismaClient({ adapter })

Neon (Serverless PostgreSQL)

import { PrismaClient } from '../generated/client'
import { PrismaNeon } from '@prisma/adapter-neon'

const adapter = new PrismaNeon({
  connectionString: process.env.DATABASE_URL
})

const prisma = new PrismaClient({ adapter })

Prisma Postgres

import { PrismaClient } from '../generated/client'
import { PrismaPostgresAdapter } from '@prisma/adapter-ppg'

const prisma = new PrismaClient({
  adapter: new PrismaPostgresAdapter({
    connectionString: process.env.PRISMA_DIRECT_TCP_URL,
  }),
})

SQL Server

import { PrismaClient } from '../generated/client'
import { PrismaMssql } from '@prisma/adapter-mssql'

const adapter = new PrismaMssql({
  server: 'localhost',
  port: 1433,
  database: 'mydb',
  user: process.env.SQLSERVER_USER,
  password: process.env.SQLSERVER_PASSWORD,
  options: {
    encrypt: true,
    trustServerCertificate: true,
  },
})

const prisma = new PrismaClient({ adapter })

Connection Pool Configuration

Driver adapters use the underlying driver's pool settings, which differ from v6 defaults.

PostgreSQL with custom pool

import { PrismaPg } from '@prisma/adapter-pg'

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL,
  // Pool configuration
  max: 10,                    // Maximum connections
  idleTimeoutMillis: 30000,   // Close idle connections after 30s
  connectionTimeoutMillis: 5000, // Connection timeout (v6 default was 5s)
})

Matching v6 behavior

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL,
  connectionTimeoutMillis: 5000,  // v6 used 5 second timeout
})

SSL Configuration

Accept self-signed certificates

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL,
  ssl: {
    rejectUnauthorized: false  // Accept self-signed certs
  }
})

Proper SSL configuration

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL,
  ssl: {
    ca: fs.readFileSync('/path/to/ca-cert.pem'),
    rejectUnauthorized: true
  }
})

Migration from v6

Before (v6)

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient({
  datasources: {
    db: { url: process.env.DATABASE_URL }
  }
})

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 })

Singleton Pattern

// lib/prisma.ts
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'

const globalForPrisma = globalThis as unknown as {
  prisma: PrismaClient | undefined
}

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL!
})

export const prisma = globalForPrisma.prisma ?? new PrismaClient({ adapter })

if (process.env.NODE_ENV !== 'production') {
  globalForPrisma.prisma = prisma
}

prisma की और Skills

prisma-cli-migrate-reset
prisma
prisma माइग्रेट रीसेट
official
prisma-cli-validate
prisma
prisma वैधता। इस Prisma सुविधा का उपयोग करते समय संदर्भ।
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
एक या अधिक ADRs की नई दृष्टि से समीक्षा करें (बिना पूर्व संदर्भ के एक टीम सदस्य के रूप में), कथा और संरचनात्मक मुद्दों की पहचान करें, फिर उन्हें पुनः लिखें। तब उपयोग करें जब...
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
Prisma CLI कमांड, विकल्पों और वर्कफ़्लो का पूर्ण संदर्भ, जिसमें सेटअप, माइग्रेशन और डेटाबेस संचालन शामिल हैं। इसमें प्राथमिकता के अनुसार व्यवस्थित 20+ कमांड शामिल हैं: सेटअप (init), जनरेशन (generate), डेवलपमेंट (dev), डेटाबेस संचालन (db pull/push/seed/execute), और माइग्रेशन (migrate dev/deploy/reset/status/diff/resolve)। इसमें Prisma 7.x परिवर्तन शामिल हैं: नई prisma.config.ts कॉन्फ़िगरेशन फ़ाइल, हटाए गए फ़्लैग (--skip-generate,
official
prisma-client-api
prisma
Prisma क्लाइंट API का पूर्ण संदर्भ, जिसमें मॉडल क्वेरी, CRUD संचालन, फ़िल्टरिंग, संबंध और लेन-देन शामिल हैं। इसमें 17 मॉडल क्वेरी विधियाँ शामिल हैं, जिनमें findUnique, findMany, create, update, delete, upsert और रिटर्न वेरिएंट के साथ बल्क संचालन शामिल हैं। परिणामों को आकार देने के लिए क्वेरी विकल्प प्रदान करता है: select, include, omit, orderBy, take, skip, cursor और distinct। इसमें स्केलर और लॉजिकल फ़िल्टर ऑपरेटर (equals, in, contains, startsWith, lt, gt) के साथ-स
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial