Prisma Postgres 快速入门
在本快速入门指南中,你将学习如何在一个纯 TypeScript 项目中从头开始使用 Prisma ORM 和 Prisma Postgres 数据库。它涵盖了以下工作流程
- 创建 Prisma Postgres 数据库
- 模式迁移和查询 (通过 Prisma ORM)
- 连接池和缓存 (通过 Prisma Accelerate)
如果你想将 Prisma Postgres 与其他 ORM 或数据库库(如 Drizzle ORM、TypeORM 或 Kysely)一起使用,你可以按照此处的说明操作。
先决条件
要成功完成本教程,你需要
1. 在平台控制台中设置 Prisma Postgres 数据库
按照以下步骤创建你的 Prisma Postgres 数据库
- 登录到并打开控制台。
- 在你选择的工作区中,点击 New project 按钮。
- 在 Name 字段中输入你的项目名称,例如 hello-ppg。
- 在 Prisma Postgres 部分,点击 Get started 按钮。
- 在 Region 下拉菜单中,选择离你当前位置最近的区域,例如 US East (N. Virginia)。
- 点击 Create project 按钮。
此时,你将被重定向到 Database 页面,你需要等待几秒钟,直到数据库状态从 PROVISIONING
变为 CONNECTED
。
一旦出现绿色的 CONNECTED
标签,你的数据库就可以使用了!
2. 下载示例并安装依赖项
复制控制台中显示的 try-prisma
命令,将其粘贴到你的终端并执行。
作为参考,该命令如下所示
npx try-prisma@latest \
--template databases/prisma-postgres \
--name hello-prisma \
--install npm
try-prisma
命令终止后,进入项目目录
cd hello-prisma
3. 设置数据库连接 URL
你的数据库连接通过 .env
文件中的环境变量进行配置。
首先,将现有的 .env.example
文件重命名为 .env
mv .env.example .env
然后,在平台控制台的项目环境中,在 Set up database access 部分找到你的数据库凭据,复制 DATABASE_URL
环境变量并将其粘贴到 .env
文件中。
作为参考,该文件现在应如下所示
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=ey...."
4. 创建数据库表(通过模式迁移)
接下来,你需要创建数据库表。你可以通过使用 Prisma CLI 的以下命令创建并执行模式迁移来完成此操作
npx prisma migrate dev --name init
这将把你的Prisma 模式中定义的 User
和 Post
模型映射到你的数据库。你还可以查看已执行的 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. 后续步骤
在本快速入门指南中,你学习了如何在纯 TypeScript 项目中开始使用 Prisma ORM。你可以随意自行探索 Prisma Client API,例如,在 findMany
查询中包含过滤、排序和分页选项,或者探索更多操作,如 update
和 delete
查询。
在 Prisma Studio 中探索数据
Prisma ORM 附带一个内置的 GUI,用于查看和编辑数据库中的数据。你可以使用以下命令打开它
npx prisma studio
使用 Prisma Postgres,你还可以直接在中通过选择你项目中的 Studio 选项卡来使用 Prisma Studio。
使用 Next.js 构建全栈应用程序
了解如何在全栈应用程序中使用 Prisma Postgres
探索可立即运行的 Prisma ORM 示例
查看 GitHub 上的 prisma-examples
仓库,了解如何将 Prisma ORM 与你喜欢的库一起使用。该仓库包含使用 Express、NestJS、GraphQL 的示例,以及使用 Next.js 和 Vue.js 的全栈示例等等。
这些示例默认使用 SQLite,但你可以按照项目 README 中的说明,通过几个简单的步骤切换到 Prisma Postgres。
保持与 Prisma 的联系
通过与 我们的活跃社区 保持联系,继续你的 Prisma 之旅。保持信息畅通,积极参与,与其他开发者协作
- 在 X 上关注我们 获取公告、直播活动和实用技巧。
- 加入我们的 Discord 提问、与社区交流,并通过对话获得积极支持。
- 在 YouTube 上订阅 获取教程、演示和直播。
- 在 GitHub 上互动 通过给仓库加星、报告问题或贡献问题。