部署
本节介绍如何将使用 Prisma Client 和 TypeScript 的 Node.js 应用程序部署到各种平台。
无需 Rust 二进制文件即可使用 Prisma ORM
如果 Prisma ORM 的 Rust 引擎二进制文件导致捆绑包大小过大、构建缓慢或部署问题(例如,在无服务器或边缘环境中),您可以在不使用它们的情况下使用它,只需配置您的 generator 块
generator client {
provider = "prisma-client-js" // or "prisma-client"
engineType = "client"
}
无需 Rust 二进制文件的 Prisma ORM 已于 v6.16.0 起 正式发布。
请注意,在这种情况下您需要使用驱动适配器。
使用此架构时
- 不会下载或附带 Rust 查询引擎二进制文件。
- 数据库连接池由您安装的原生 JS 数据库驱动程序维护(例如,PostgreSQL 的
@prisma/adapter-pg)。
此设置可以简化以下场景的部署
- 无服务器函数
- 边缘运行时
- 只读文件系统环境
- 具有严格大小限制的 CI/CD 流水线
在此处的文档中了解更多信息。
好奇我们为什么放弃 Rust 引擎?请查看这篇博客文章,了解我们为何从 Rust 二进制引擎转向全 TypeScript 方法,以实现更快、更轻的 Prisma ORM。
在本节中
部署 Prisma ORM
使用 Prisma Client 的项目可以部署到许多不同的云平台。鉴于云平台的种类繁多和名称各异,值得一提的是不同的部署范式,因为它们会影响您部署使用 Prisma Client 的应用程序的方式。
传统服务器
无服务器函数
边缘函数
模块打包器
概述
部署数据库更改
要将待处理的迁移应用到 staging、测试或生产环境,请将 migrate deploy 命令作为 CI/CD 流水线的一部分运行
从本地环境部署迁移
在两种情况下,您可能会考虑直接从本地环境部署迁移到生产环境。
部署到 AWS 平台时的注意事项
以下描述了部署到不同 AWS 平台时可能遇到的一些注意事项。
部署到不同的操作系统
Prisma Client 依赖于作为二进制文件运行在与您的应用程序相同主机上的查询引擎。