PostgreSQL 扩展
本页面介绍了PostgreSQL 扩展,并解释了如何将它们与 Prisma ORM 结合使用。
警告
在 Prisma ORM v4.5.0 到 v6.16.0 之间,您可以通过 postgresqlExtensions 预览功能标志在 Prisma schema 中启用扩展。此功能标志在 v6.16.0 中已被弃用,现在建议使用 PostgreSQL 扩展的方法是通过自定义迁移安装它们。
什么是 PostgreSQL 扩展?
PostgreSQL 允许您通过安装和激活称为扩展的包来扩展您的数据库功能。例如,citext 扩展添加了一个不区分大小写的字符串数据类型。一些扩展,例如 citext,由 PostgreSQL 直接提供,而其他扩展则由外部开发。有关扩展的更多信息,请参阅PostgreSQL 文档。
要使用扩展,它必须首先在您的数据库服务器的本地文件系统上安装。然后您需要激活该扩展,这将运行一个脚本文件,添加新功能。
使用 PostgreSQL 扩展与 Prisma ORM
让我们通过一个安装 citext 扩展的示例。
1. 创建一个空迁移
运行以下命令以创建一个您可以自定义的空迁移
npx prisma migrate dev --create-only
2. 添加一个 SQL 语句来安装扩展
在 migrations 目录中创建的新迁移文件中,添加以下语句
CREATE EXTENSION IF NOT EXISTS citext;
3. 部署迁移
运行以下命令部署迁移并将其应用到您的数据库
npx prisma migrate deploy
4. 使用扩展
现在您可以在 Prisma Client 中使用扩展进行查询。如果扩展具有目前无法在 Prisma schema 中原生表示的特殊数据类型,您仍然可以使用 Unsupported 回退类型在模型上定义该类型的字段。