跳到主要内容

关系型数据库

了解如何通过连接到数据库并生成用于数据库访问的 Prisma Client,将 Prisma ORM 添加到现有的 Node.js 或 TypeScript 项目中。本教程将向您介绍Prisma CLIPrisma Client,以及Prisma 内省

提示

如果您正在从其他 ORM 迁移到 Prisma ORM,请参阅我们的从 TypeORM 迁移从 Sequelize 迁移迁移指南。

先决条件

为了成功完成本指南,您需要具备以下条件

  • 一个具有 package.json 文件的现有 Node.js 项目
  • Node.js 已安装在您的机器上(参见系统要求 获取官方支持的版本)
  • 一个PostgreSQL 数据库服务器正在运行,并且数据库中至少有一个表

参见系统要求 获取确切的版本要求。

确保您已准备好数据库连接 URL(包含您的认证凭据)!如果您没有运行数据库服务器,只是想探索 Prisma ORM,请查看快速入门

设置 Prisma ORM

首先,进入包含 package.json 文件的项目目录。

接下来,将 Prisma CLI 作为开发依赖添加到您的项目

npm install prisma --save-dev
注意

如果您的项目包含多个包含 package.json 文件的目录(例如 frontendbackend 等),请注意 Prisma ORM 专门设计用于 API/后端层。要设置 Prisma,请导航到包含相关 package.json 文件的相应后端目录并在那里配置 Prisma。

现在,您可以通过在其前面加上 npx 来调用 Prisma CLI

npx prisma
信息

参见安装说明 以了解如何使用不同的包管理器安装 Prisma ORM。

接下来,通过创建您的Prisma Schema文件来设置您的 Prisma ORM 项目,使用以下命令

npx prisma init --datasource-provider postgresql --output ../generated/prisma

此命令执行以下操作

  • 创建一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含带有您的数据库连接变量和 schema 模型的 Prisma Schema。
  • datasource 设置为PostgreSQL并将输出分别设置为自定义位置。
  • 创建.env 文件在项目根目录中,用于定义环境变量(例如您的数据库连接)
使用版本控制?

如果您使用版本控制(如 git),我们建议您在 .gitignore 中添加一行,以排除应用程序中的生成客户端。在此示例中,我们要排除 generated/prisma 目录。

.gitignore
generated/prisma/

请注意,由 prisma init 创建的默认 schema 使用 PostgreSQL 作为 provider。如果您没有使用 datasource-provider 选项指定 provider,您需要编辑 datasource 块以改为使用 postgresql provider

prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}