prisma-database-setup-mysql

द्वारा prisma

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

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-mysql

MySQL Setup

Configure Prisma with MySQL (or MariaDB).

Prerequisites

  • MySQL or MariaDB database
  • Connection string

1. Schema Configuration

In prisma/schema.prisma:

datasource db {
  provider = "mysql"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

2. Config Configuration (v7)

In prisma.config.ts:

import { defineConfig, env } from 'prisma/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  datasource: {
    url: env('DATABASE_URL'),
  },
})

3. Environment Variable

In .env:

DATABASE_URL="mysql://user:password@localhost:3306/mydb"

Connection String Format

mysql://USER:PASSWORD@HOST:PORT/DATABASE
  • USER: Database user
  • PASSWORD: Password
  • HOST: Hostname
  • PORT: Port (default 3306)
  • DATABASE: Database name

Driver Adapter (Prisma ORM 7 required)

Prisma ORM 7 uses the query compiler by default, so you must use a driver adapter.

  1. Install adapter and driver:

    npm install @prisma/adapter-mariadb mariadb
    
  2. Instantiate Prisma Client with the adapter:

    import 'dotenv/config'
    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 })
    

PlanetScale Setup

PlanetScale uses MySQL but requires specific settings because it doesn't support foreign key constraints.

In prisma/schema.prisma:

datasource db {
  provider     = "mysql"
  relationMode = "prisma" // Emulate foreign keys in Prisma
}

Common Issues

"Too many connections"

MySQL has a connection limit. Adjust connection pool size in URL:

DATABASE_URL="mysql://...?connection_limit=5"

JSON Support

MySQL 5.7+ supports JSON. MariaDB 10.2+ supports JSON (as an alias for LONGTEXT with check constraints). Prisma handles this, but verify your version.

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