prisma-database-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePrisma Database Setup
Prisma 数据库配置指南
Comprehensive guides for configuring Prisma ORM with various database providers.
针对各类数据库提供商配置Prisma ORM的全面指南。
When to Apply
适用场景
Reference this skill when:
- Initializing a new Prisma project
- Switching database providers
- Configuring connection strings and environment variables
- Troubleshooting database connection issues
- Setting up database-specific features
- Generating and instantiating Prisma Client
以下场景可参考本指南:
- 初始化新的Prisma项目
- 切换数据库提供商
- 配置连接字符串和环境变量
- 排查数据库连接问题
- 配置数据库专属功能
- 生成并实例化Prisma Client
System Prerequisites (Prisma ORM 7)
系统前置要求(Prisma ORM 7)
- Node.js 20.19.0+
- TypeScript 5.4.0+
- Node.js 20.19.0+
- TypeScript 5.4.0+
Bun Runtime
Bun 运行时
If you're using Bun, run Prisma CLI commands with so Prisma uses the Bun runtime instead of falling back to Node.js.
bunx --bun prisma ...如果你使用Bun运行时,请通过执行Prisma CLI命令,这样Prisma会使用Bun运行时而不是回退到Node.js。
bunx --bun prisma ...Supported Databases
支持的数据库
| Database | Provider String | Notes |
|---|---|---|
| PostgreSQL | | Default, full feature support |
| MySQL | | Widespread support, some JSON diffs |
| SQLite | | Local file-based, no enum/scalar lists |
| MongoDB | | NOT SUPPORTED IN v7 (Use v6) |
| SQL Server | | Microsoft ecosystem |
| CockroachDB | | Distributed SQL, Postgres-compatible |
| Prisma Postgres | | Managed serverless database |
| 数据库 | 提供商字符串 | 说明 |
|---|---|---|
| PostgreSQL | | 默认选项,支持全部功能 |
| MySQL | | 广泛支持,JSON处理存在部分差异 |
| SQLite | | 本地文件型数据库,不支持枚举/标量列表 |
| MongoDB | | v7版本不支持(请使用v6版本) |
| SQL Server | | 微软生态系统适配 |
| CockroachDB | | 分布式SQL数据库,兼容PostgreSQL |
| Prisma Postgres | | 托管式无服务器数据库 |
Configuration Files
配置文件
Prisma v7 uses two main files for configuration:
- : Defines the
prisma/schema.prismablock.datasource - : Configures the connection URL (replaces env loading in schema).
prisma.config.ts
Prisma v7使用两个主要配置文件:
- :定义
prisma/schema.prisma块。datasource - :配置连接URL(替代原schema中的环境变量加载方式)。
prisma.config.ts
Driver Adapters (Prisma ORM 7)
驱动适配器(Prisma ORM 7)
Prisma ORM 7 uses the query compiler by default, which requires a driver adapter. Choose the adapter and driver for your database and pass the adapter to .
PrismaClient| Database | Adapter | JS Driver |
|---|---|---|
| PostgreSQL | | |
| CockroachDB | | |
| Prisma Postgres | | |
| MySQL / MariaDB | | |
| SQLite | | |
| SQLite (Turso/LibSQL) | | |
| SQL Server | | |
Example (PostgreSQL):
ts
import 'dotenv/config'
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 })Prisma ORM 7默认使用查询编译器,这需要驱动适配器。请为你的数据库选择对应的适配器和驱动,并将适配器传入。
PrismaClient| 数据库 | 适配器 | JS驱动 |
|---|---|---|
| PostgreSQL | | |
| CockroachDB | | |
| Prisma Postgres | | |
| MySQL / MariaDB | | |
| SQLite | | |
| SQLite (Turso/LibSQL) | | |
| SQL Server | | |
示例(PostgreSQL):
ts
import 'dotenv/config'
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 })Prisma Client Setup (Required)
Prisma Client 配置(必填)
Prisma Client must be installed and generated for any database.
-
Install Prisma CLI and Prisma Client:bash
npm install prisma --save-dev npm install @prisma/client -
Add a generator block (output is required in Prisma v7):prisma
generator client { provider = "prisma-client" output = "../generated" } -
Generate Prisma Client:bash
npx prisma generate -
Instantiate Prisma Client with the database-specific driver adapter:typescript
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 }) -
Re-runafter every schema change.
prisma generate
无论使用哪种数据库,都必须安装并生成Prisma Client。
-
安装Prisma CLI和Prisma Client:bash
npm install prisma --save-dev npm install @prisma/client -
添加生成器块(Prisma v7要求必须指定output):prisma
generator client { provider = "prisma-client" output = "../generated" } -
生成Prisma Client:bash
npx prisma generate -
使用数据库专属驱动适配器实例化Prisma Client:typescript
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 }) -
每次修改schema后,重新运行。
prisma generate
Quick Reference
快速参考
PostgreSQL
PostgreSQL
prisma
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}prisma
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}MySQL
MySQL
prisma
datasource db {
provider = "mysql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}prisma
datasource db {
provider = "mysql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}SQLite
SQLite
prisma
datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client"
output = "../generated"
}prisma
datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client"
output = "../generated"
}MongoDB (Prisma v6 only)
MongoDB(仅Prisma v6支持)
prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}Rule Files
规则文件
See individual rule files for detailed setup instructions:
rules/postgresql.md
rules/mysql.md
rules/sqlite.md
rules/mongodb.md
rules/sqlserver.md
rules/cockroachdb.md
rules/prisma-postgres.md
rules/prisma-client-setup.md请查看各个规则文件获取详细配置说明:
rules/postgresql.md
rules/mysql.md
rules/sqlite.md
rules/mongodb.md
rules/sqlserver.md
rules/cockroachdb.md
rules/prisma-postgres.md
rules/prisma-client-setup.md