📅  最后修改于: 2023-12-03 14:45:39.966000             🧑  作者: Mango
Prisma 是一个强大的 ORM 工具,可以在 TypeScript 中使用,大大简化了数据库操作的工作。本文将介绍如何在 TypeScript 项目中使用 Prisma,并给出一个示例。
首先,需要安装 Prisma。可以通过以下命令进行安装:
npm install prisma --save-dev
或者,如果喜欢使用 yarn:
yarn add prisma --dev
安装好 Prisma 之后,需要初始化 Prisma,以便能够正确地工作。可以通过以下命令初始化:
npx prisma init
这将引导你完成 Prisma 的初始化过程。
接下来,我们需要定义数据库模型。可以在项目中创建一个 prisma
目录,并在其中创建一个 schema.prisma
文件。以下是一个简单的 schema.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?
posts Post[]
profile Profile?
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
author User @relation(fields: [authorId], references: [id])
authorId Int
published Boolean @default(false)
}
model Profile {
id Int @id @default(autoincrement())
bio String?
user User @relation(fields: [userId], references: [id])
userId Int @unique
}
该模型定义了三个表:User
、Post
和 Profile
。这些表之间有不同的关系,如 User
has many Post
和 User
has one Profile
。
模型定义好之后,需要生成一个 Prisma 客户端,以便能够访问数据库。可以通过以下命令生成客户端:
npx prisma generate
或者使用 yarn:
yarn prisma generate
客户端生成好之后,在数据库中创建数据库表。可以使用以下命令将模型同步到数据库:
npx prisma migrate dev --preview-feature
或者使用 yarn:
yarn prisma migrate dev --preview-feature
现在,可以在 TypeScript 项目中使用 Prisma 了。以下代码展示了如何使用 Prisma 客户端查询用户列表:
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
async function main() {
const users = await prisma.user.findMany()
console.log(users)
}
main()
.catch(e => console.error(e))
.finally(async () => {
await prisma.$disconnect()
})
需要注意的是,@prisma/client
默认导出的是 Prisma 客户端的命名空间,而不是 Prisma 客户端本身。因此,在导入客户端时需要使用花括号。
本文介绍了如何在 TypeScript 中使用 Prisma,并给出了一个示例。使用 Prisma 可以大大简化数据库操作的工作,同时也提高了应用程序的可维护性。