跳至主要内容

快速入门

在本快速入门指南中,您将学习如何使用 Prisma ORM 和一个Prisma Postgres 数据库在一个简单的TypeScript 项目中从头开始。它涵盖以下工作流程

先决条件

要成功完成本教程,您需要

  • 一个(PDP) 帐户
  • Node.js v16.13.0 或更高版本(了解更多关于 系统要求

1. 在平台控制台中设置 Prisma Postgres 数据库

按照以下步骤创建您的 Prisma Postgres 数据库

  1. 登录到.
  2. 在您选择的 工作区 中,点击新建项目按钮。
  3. 名称字段中输入您的项目的名称,例如hello-ppg
  4. Prisma Postgres 部分,点击开始使用按钮。
  5. 区域下拉菜单中,选择最接近您当前位置的区域,例如美国东部(北弗吉尼亚)
  6. 点击创建项目按钮。

此时,您将被重定向到数据库页面,您需要等待几秒钟,您的数据库状态从PROVISIONING变为ACTIVATING,再变为CONNECTED

一旦绿色CONNECTED标签出现,您的数据库就可以使用了!

2. 下载示例并安装依赖项

复制控制台中显示的try-prisma命令,将其粘贴到您的终端并执行。

参考,此命令如下所示

npx try-prisma@latest \
--template databases/prisma-postgres \
--name hello-prisma \
--install npm

try-prisma 命令终止后,导航到项目目录

cd hello-prisma

3. 设置数据库连接和 Pulse API 密钥

通过.env文件中的环境变量配置到数据库的连接和 Pulse API 密钥。

首先,将现有的.env.example文件重命名为.env

mv .env.example .env

接下来,导航回控制台并点击生成数据库凭据按钮。

然后,复制生成的DATABASE_URLPULSE_API_KEY环境变量并将其粘贴到.env文件。

参考,该文件现在应该类似于以下内容

DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=ey...."
PULSE_API_KEY="ey...."

4. 创建数据库表(使用模式迁移)

接下来,您需要在数据库中创建表。您可以通过创建和执行 Prisma CLI 的以下命令来执行模式迁移

npx prisma migrate dev --name init

这将把您在 Prisma 模式 中定义的UserPost模型映射到您的数据库。您还可以查看已执行的 SQL 迁移,该迁移已在新建的prisma/migrations目录中创建了表。

5. 使用 Prisma ORM 执行查询

src/queries.ts脚本包含一些 CRUD 查询,这些查询将写入和读取数据库中的数据。您可以通过在您的终端中运行以下命令来执行它

npm run queries

脚本完成后,您可以在终端中检查日志或使用 Prisma Studio 来探索数据库中已创建的记录。

npx prisma studio

6. 探索使用 Prisma Accelerate 进行缓存

src/caching.ts脚本包含一个使用 Stale-While-Revalidate (SWR) 和 Time-To-Live (TTL) 来缓存使用 Prisma Accelerate 的数据库查询的示例查询。您可以按如下方式执行它

npm run caching

请注意执行查询所花费的时间,例如

The query took 2009.2467149999998ms.

现在,再次运行脚本

npm run caching

您会注意到这次查询所花费的时间会短很多,例如

The query took 300.5655280000001ms.

7. 观察数据库中的实时事件

src/realtime.ts脚本包含一个从您的数据库接收实时更改 事件 的演示。您可以按如下方式启动脚本

npm run realtime

该脚本现在创建了一个 ,该流将接收数据库事件并在每次在User表上进行写入操作(即创建更新删除)时将它们打印到控制台。

要测试流,您可以打开 Prisma Studio

npx prisma studio

…并对User表进行更改,例如创建一个新记录。保存更改后,您应该在终端中看到类似于以下内容的输出

Received an event: {
action: 'create',
created: { id: 3, email: '[email protected]', name: 'Nikolas' },
id: '01JAFNSZHQRDTW773BCAA9G7FJ',
modelName: 'User'
}

8. 下一步

在本快速入门指南中,您学习了如何在简单的 TypeScript 项目中使用 Prisma ORM。您可以随意自行进一步探索 Prisma Client API,例如,在findMany查询中包含过滤、排序和分页选项,或者探索更多操作,例如updatedelete查询。

在 Prisma Studio 中探索数据

Prisma ORM 带有一个内置的 GUI 来查看和编辑数据库中的数据。您可以使用以下命令打开它

npx prisma studio

探索可运行的 Prisma ORM 示例

查看 GitHub 上的 prisma-examples 存储库,了解如何将 Prisma ORM 与您喜欢的库一起使用。该存储库包含使用 Express、NestJS、GraphQL 以及使用 Next.js 和 Vue.js 的完整堆栈示例,以及更多内容。

使用 Prisma Pulse 构建实时应用程序

Prisma Pulse 使您能够创建能够立即响应数据库更改的应用程序,使您能够轻松构建类型安全的实时功能和应用程序。

演示描述
入门一个 Prisma Pulse 入门应用程序
email-with-resend一个使用 Prisma Pulse 和 Resend 向新用户发送电子邮件的示例应用程序
fullstack-leaderboard一个实时排行榜(使用 Next.js 构建)
fullstack-simple-chat一个简单的聊天应用程序(使用 Next.js 和 Express 构建)
product-search-with-typesense一个将数据同步到 Typesense 的 cron 作业(使用 Hono.js 构建)
data-sync-with-bigquery一个将数据自动同步到 Google BigQuery 的脚本

使用 Prisma Accelerate 加速您的数据库查询

Prisma 加速 是一款连接池和全局数据库缓存,可以显著提高您的数据库查询速度。查看 速度测试 或尝试使用您最喜欢的框架来使用加速。

演示描述
nextjs-starter一个使用 Prisma 加速的缓存和连接池的 Next.js 项目
svelte-starter一个使用 Prisma 加速的缓存和连接池的 SvelteKit 项目
solidstart-starter一个使用 Prisma 加速的缓存和连接池的 Solidstart 项目
remix-starter一个使用 Prisma 加速的缓存和连接池的 Remix 项目
nuxt-starter一个使用 Prisma 加速的缓存和连接池的 Nuxt.js 项目
astro-starter一个使用 Prisma 加速的缓存和连接池的 Astro 项目

使用 Prisma ORM 构建应用程序

Prisma 博客提供了关于 Prisma ORM 的全面教程,查看我们最新的教程

加入 Prisma 社区 💚

Prisma 拥有庞大的 开发者社区。加入我们 Discord 或者使用 GitHub 讨论 提问。