prisma-database-setup-mysql
作者: prisma
MySQL 设置。使用此 Prisma 功能时的参考。
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-mysqlMySQL 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.
-
Install adapter and driver:
npm install @prisma/adapter-mariadb mariadb -
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 的更多技能
prisma-cli-migrate-status
prisma
prisma 迁移状态
official
prisma-cli-studio
prisma
prisma studio。使用此Prisma功能时的参考。
official
prisma-cli-validate
prisma
prisma 验证。使用此 Prisma 功能时的参考。
official
prisma-cli-db-execute
prisma
prisma db execute。使用此Prisma功能时的参考。
official
prisma-cli-db-pull
prisma
prisma-cli-db-pull — 一个可安装的AI代理技能,由prisma/cursor-plugin发布。
official
prisma-cli-db-push
prisma
prisma db push。使用此Prisma功能时的参考。
official
prisma-cli-db-seed
prisma
prisma db seed。使用此Prisma功能时的参考。
official
prisma-cli-debug
prisma
Prisma 调试。使用此 Prisma 功能时的参考。
official