数据库
切换到 Drizzle
如何将 ORM 更换为 Drizzle。
Drizzle 是一个快速流行起来的优秀、类型安全的 ORM。如果你想切换到 Drizzle,有两个选择:
- 保留 Prisma 并在 Prisma 客户端中添加 Drizzle API。Drizzle 有一个很棒的指南介绍如何做到这一点。
- 完全切换到 Drizzle。
这里,我们假设你有一个正常工作的 Neon 数据库,并介绍第二种选择。
1. 替换 @repo/database
中的依赖项
卸载现有的依赖…
Terminal
…并安装新的依赖:
Terminal
2. 更新数据库连接代码
删除 @repo/database/index.ts
中的所有内容,并替换为以下代码:
packages/database/index.ts
3. 创建 drizzle.config.ts
文件
接下来我们将创建一个 Drizzle 配置文件,供 Drizzle Kit 使用,包含有关数据库连接、迁移文件夹和模式文件的所有信息。在 packages/database
目录中创建一个 drizzle.config.ts
文件,内容如下:
packages/database/drizzle.config.ts
4. 生成模式文件
Drizzle 使用模式文件来定义数据库表。我们可以从现有数据库生成模式文件,而不是从头创建。在 packages/database
文件夹中,运行以下命令生成模式文件:
这将从数据库中提取模式,创建一个包含表定义和其他一些文件的 schema.ts
文件。
5. 更新查询
现在你可以更新查询以使用 Drizzle ORM。
例如,以下是如何更新 app/(authenticated)/page.tsx
中的 page
查询:
apps/app/app/(authenticated)/page.tsx
6. 移除 Prisma Studio
你也可以删除现在不再使用的 Prisma Studio 应用,位于 apps/studio
:
Terminal
7. 更新根目录 package.json
中的迁移脚本
将根目录 package.json
中的迁移脚本从 Prisma 更改为 Drizzle。更新 migrate
脚本以使用 Drizzle 命令: