跳到主要内容

没有 Rust 引擎

v6.7.0 起,您可以在 SQLite 或 PostgreSQL 数据库上使用不带 Rust 引擎二进制文件的 Prisma ORM。

本页概述了如何使用此版本的 Prisma ORM。

不带 Rust 引擎的 Prisma ORM

如果您使用不带 Rust 引擎的 Prisma ORM,主要的技​​术差异在于

  • 在 `generator` 块中没有 `binaryTargets` 和 `engineType` 字段
  • 没有下载到生成的 Prisma Client 所在目录的查询引擎二进制文件
  • 要求使用 驱动程序适配器 进行数据库连接管理

用法

先决条件

  • Prisma ORM v6.7.0(或更高版本)

1. 设置功能标志

使用新架构需要设置 `driverAdapters` 和 `queryCompiler` 功能标志

schema.prisma
generator client {
provider = "prisma-client-js" // or `prisma-client`
previewFeatures = ["queryCompiler", "driverAdapters"]
output = "../generated/prisma"
}

2. 重新生成 Prisma Client

要使功能标志生效,您需要重新生成 Prisma Client

npx prisma generate

3. 安装驱动程序适配器

根据您使用的数据库,您需要安装不同的驱动程序适配器库

对于 PostgreSQL

npm install @prisma/adapter-pg

对于 SQLite

npm install @prisma/adapter-better-sqlite3

4. 实例化 Prisma Client

最后,您需要实例化 Prisma Client,这可以通过使用驱动程序适配器和您正在使用的数据库实例的连接 URL 来完成。

对于 PostgreSQL

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

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

对于 SQLite

import { PrismaBetterSQLite3 } from '@prisma/adapter-better-sqlite3';
import { PrismaClient } from './generated/prisma';

const adapter = new PrismaBetterSQLite3({ url: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter });

5. 查询您的数据库

如果您已经完成了之前的步骤,就可以像往常使用 Prisma Client 一样查询数据库了。无需其他更改。