Prisma 是一个现代的数据库工具链,它提供了从数据库模式定义到客户端查询的完整解决方案,同时支持多种数据库,包括 PostgreSQL。使用 Prisma,你可以定义你的数据模型,然后生成类型安全的查询客户端,用于与数据库交互。
以下是如何使用 Prisma 连接 PostgreSQL 数据库的基本步骤:
-
安装 Prisma CLI 和 Prisma Client:
首先,你需要全局安装 Prisma CLI。此外,你还需要在你的项目中安装 Prisma Client 和相关的数据库适配器。bash复制代码npm install -g prisma npm install prisma @prisma/client 注意:从 Prisma 3 开始,
@prisma/client
是必需的,因为 Prisma Client 不再作为 Prisma CLI 的一部分自动安装。 -
初始化 Prisma:
在你的项目根目录下运行以下命令来初始化 Prisma。bash复制代码npx prisma init 这将创建一个
.prisma
目录和一个schema.prisma
文件,用于定义你的数据模型。 -
定义数据模型:
在schema.prisma
文件中,使用 Prisma Schema Language (PSL) 定义你的数据模型。例如:prisma复制代码datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" } model User { id Int @id @default(autoincrement()) email String @unique name String } 这里,
datasource
块定义了数据库连接信息,generator
块指定了生成 Prisma Client 的方式,而model
块则定义了你的数据模型。 -
设置数据库连接:
在项目的根目录下创建一个.env
文件,并在其中设置DATABASE_URL
环境变量,以包含你的 PostgreSQL 数据库连接字符串。例如:env复制代码DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=public" 替换
USER
、PASSWORD
、HOST
、PORT
和DATABASE
为你的实际数据库凭据。 -
迁移数据库:
使用 Prisma CLI 运行迁移命令,以根据你的数据模型创建或更新数据库表。bash复制代码npx prisma migrate dev --name init 这将创建一个迁移文件,并将其应用到你的数据库中。注意,从 Prisma 3 开始,迁移系统已经发生了重大变化,因此请确保你遵循的是与你使用的 Prisma 版本相对应的文档。
-
使用 Prisma Client:
现在,你可以在你的项目中使用 Prisma Client 来查询和修改数据库了。例如:javascript复制代码const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient() async function main() { const allUsers = await prisma.user.findMany() console.log(allUsers) } main() .catch(e => { throw e }) .finally(async () => { await prisma.$disconnect() }) 在这个例子中,我们创建了一个 Prisma 客户端实例,并使用它来查询所有用户。最后,我们确保在完成后断开与数据库的连接。
请确保你遵循的是与你安装的 Prisma 版本相对应的最新文档,因为 Prisma 经常更新,并且某些命令和配置可能会随着版本的更新而发生变化。