Prisma是什么?
#typescript #node #prisma

介绍

“ prisma”是一种新型的数据映射器ORM工具,可作为您的Web应用程序和您喜欢的数据库之间的接口。它抽象了与服务器通信的复杂性,并允许您专注于构建应用程序,而不是考虑下一个SQL查询,这要归功于其直观的数据模型,自动迁移,类型安全和自动填充。

入门

要开始使用Prisma,您必须熟悉下面列出的工具集

Prisma客户
Prisma客户端是Prisma数据库工具包的主要组成部分,非常重要,通常将其简单地称为“ Prisma”。它使开发人员能够以无缝和高效的方式与数据库进行交互。

Prisma客户端是Prisma数据库工具包的主要组成部分,非常重要,以至于通常被称为“ Prisma

Prisma Client在其核心上是一种类型安全的数据库客户端,是基于您的Prisma Schema生成的。这意味着您使用PRISMA客户端进行的每个查询都会通过架构验证,以确保您始终使用有效的数据。 Prisma客户端提供了与您的数据库合作的广泛功能,包括基本的CRUD操作,过滤,分类和聚合。

Prisma模式就像一个难题的说明,告诉您所有的作品都在哪里。该模式告诉Prisma您的数据库的外观以及如何组织。

Prisma客户的关键好处之一是易于使用。生成Prisma客户端是一个简单的过程,下面将在本文中介绍,只需几分钟,并且设置了它后,您可以使用熟悉的JavaScript开始与数据库进行交互。打字稿语法。借助Prisma客户端,您无需担心编写复杂的SQL查询或处理低级数据库详细信息。相反,您可以专注于构建充分利用数据的惊人应用程序。

Prisma设置 /安装

  • 要开始,您将首先需要将其安装到项目中
npm install prisma --save-dev
npx prisma
  • 然后继续创建一个prisma.schema文件。该文件定义了您的数据库架构,并作为生成Prisma客户端的基础。

这是一个身份验证系统的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
  password String
}

在此示例中,我们定义了一个称为 db datasource,该datasource使用PostgreSQL作为提供商。我们还定义了使用Prisma客户端提供商的称为客户端的生成器。最后,我们定义了一个名为用户的模型,该模型具有 id 电子邮件独特的字段,以及密码字段。

要在代码中使用此模式,您首先需要生成Prisma客户端。您可以通过运行以下命令来执行此操作:

安装Prisma客户端

npm install @prisma/client

此命令还运行prisma generate命令,该命令生成Prisma客户端,然后您可以使用Prisma客户端将查询发送到数据库。下面是片段

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB

要在代码中使用此模式,您首先需要生成Prisma客户端。您可以通过运行以下命令来执行此操作:

npx prisma generate

生成了Prisma客户端后,您可以在代码中使用它与数据库进行交互。这是您如何使用Prisma客户端创建新用户的示例:

const { PrismaClient } = require('@prisma/client')

const prisma = new PrismaClient()

async function createUser(email, password) {
  const newUser = await prisma.user.create({
    data: {
      email: email,
      password: password
    }
  })

  return newUser
}

createUser('test@example.com', 'password123')
  .then(user => console.log(user))
  .catch(error => console.error(error))

在此示例中,我们创建了一个称为 createuser 的函数,该函数将emailpassword作为参数。我们使用Prisma客户端使用指定的emailpassword创建新用户,然后返回新用户。我们还包括一些错误处理,以防万一出现任何问题。

Prisma迁移

prisma迁移是一种强大的工具,可轻松管理Prisma项目中的数据库迁移。使用Prisma迁移,您可以以安全和控制的方式轻松创建,修改和还原数据库模式。

要创建一个新的迁移,您可以运行以下命令:

npx prisma migrate dev --name init

这将创建一个新的目录,称为迁移在您的项目根目录中,以及一个名为“ Init”的新迁移文件。您可以编辑此迁移文件以定义所需的模式更改。

// migrations/20220227150000_init.js

如果您需要出于任何原因需要退回迁移,则可以使用以下命令:

npx prisma migrate reset

有关MongoDB迁移的信息,请阅读here

Prisma Studio

Prisma Studio是可视化工具,可让您使用图形用户界面与数据库进行交互。这是设置Prisma Studio并将其应用于我们之前创建的模式的方法

Prisma Studio实际上被包括在Prisma CLI的一部分中,这意味着当您使用NPM或YARN安装Prisma时,它是自动安装的。

要启动Prisma Studio,您只需要在终端中运行它:

npx prisma studio

这将在您的默认Web浏览器中打开Prisma Studio UI。只要您安装了Prisma,并且您就在包含Prisma架构文件的目录中。

连接到数据库后,您将在Prisma Studio的左侧窗格中看到图形表示。您可以单击每个模型以查看和编辑其数据,以及添加和删除记录。

例如,假设我们要在数据库中添加新用户。我们可以通过单击左侧窗格中的用户模型来做到这一点,然后单击“创建新用户”按钮。这将提出一个表格,我们可以输入新用户的信息。

我们输入了用户的信息并单击“创建”按钮,Prisma Studio将将新用户添加到我们的数据库中,并相应地更新架构的图形表示。

综上所述

尽管Prisma不是第一个ORM工具,但它是一个改变游戏规则的工具,对于希望简化其数据库工作流并比以往更快地构建惊人应​​用程序的开发人员。 Prisma凭借其直观的数据建模功能,类型安全数据库客户端的生成以及强大的查询功能,彻底改变了我们与数据库互动的方式。通过消除对乏味的SQL查询的需求并简化数据库管理,PRISMA使开发人员可以专注于构建最佳的工作 - 出色的应用程序。

参考