prisma-database-setup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Prisma 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
bunx --bun prisma ...
so Prisma uses the Bun runtime instead of falling back to Node.js.
如果你使用Bun运行时,请通过
bunx --bun prisma ...
执行Prisma CLI命令,这样Prisma会使用Bun运行时而不是回退到Node.js。

Supported Databases

支持的数据库

DatabaseProvider StringNotes
PostgreSQL
postgresql
Default, full feature support
MySQL
mysql
Widespread support, some JSON diffs
SQLite
sqlite
Local file-based, no enum/scalar lists
MongoDB
mongodb
NOT SUPPORTED IN v7 (Use v6)
SQL Server
sqlserver
Microsoft ecosystem
CockroachDB
cockroachdb
Distributed SQL, Postgres-compatible
Prisma Postgres
postgresql
Managed serverless database
数据库提供商字符串说明
PostgreSQL
postgresql
默认选项,支持全部功能
MySQL
mysql
广泛支持,JSON处理存在部分差异
SQLite
sqlite
本地文件型数据库,不支持枚举/标量列表
MongoDB
mongodb
v7版本不支持(请使用v6版本)
SQL Server
sqlserver
微软生态系统适配
CockroachDB
cockroachdb
分布式SQL数据库,兼容PostgreSQL
Prisma Postgres
postgresql
托管式无服务器数据库

Configuration Files

配置文件

Prisma v7 uses two main files for configuration:
  1. prisma/schema.prisma
    : Defines the
    datasource
    block.
  2. prisma.config.ts
    : Configures the connection URL (replaces env loading in schema).
Prisma v7使用两个主要配置文件:
  1. prisma/schema.prisma
    :定义
    datasource
    块。
  2. prisma.config.ts
    :配置连接URL(替代原schema中的环境变量加载方式)。

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
.
DatabaseAdapterJS Driver
PostgreSQL
@prisma/adapter-pg
pg
CockroachDB
@prisma/adapter-pg
pg
Prisma Postgres
@prisma/adapter-ppg
@prisma/ppg
MySQL / MariaDB
@prisma/adapter-mariadb
mariadb
SQLite
@prisma/adapter-better-sqlite3
better-sqlite3
SQLite (Turso/LibSQL)
@prisma/adapter-libsql
@libsql/client
SQL Server
@prisma/adapter-mssql
node-mssql
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
@prisma/adapter-pg
pg
CockroachDB
@prisma/adapter-pg
pg
Prisma Postgres
@prisma/adapter-ppg
@prisma/ppg
MySQL / MariaDB
@prisma/adapter-mariadb
mariadb
SQLite
@prisma/adapter-better-sqlite3
better-sqlite3
SQLite (Turso/LibSQL)
@prisma/adapter-libsql
@libsql/client
SQL Server
@prisma/adapter-mssql
node-mssql
示例(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.
  1. Install Prisma CLI and Prisma Client:
    bash
    npm install prisma --save-dev
    npm install @prisma/client
  2. Add a generator block (output is required in Prisma v7):
    prisma
    generator client {
      provider = "prisma-client"
      output   = "../generated"
    }
  3. Generate Prisma Client:
    bash
    npx prisma generate
  4. 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 })
  5. Re-run
    prisma generate
    after every schema change.
无论使用哪种数据库,都必须安装并生成Prisma Client。
  1. 安装Prisma CLI和Prisma Client:
    bash
    npm install prisma --save-dev
    npm install @prisma/client
  2. 添加生成器块(Prisma v7要求必须指定output):
    prisma
    generator client {
      provider = "prisma-client"
      output   = "../generated"
    }
  3. 生成Prisma Client:
    bash
    npx prisma generate
  4. 使用数据库专属驱动适配器实例化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 })
  5. 每次修改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