本教程演示如何在Edge 运行时中使用 Drizzle ORM 与 Vercel Functions。
This guide assumes familiarity with:
- 您应该已有一个现有的 Next.js 项目,或使用以下命令创建一个新的项目:
IMPORTANT
如果您在安装过程中遇到依赖关系解析问题:
如果您不是在使用 React Native,可以通过强制安装 --force
或 --legacy-peer-deps
来解决此问题。如果您使用的是 React Native,则需要使用与您的 React Native 版本兼容的 React 的精确版本。
兼容 Edge 的驱动程序
在使用 Vercel Edge 函数与 Drizzle ORM 时,您必须使用兼容 Edge 的驱动程序,因为函数在 Edge 运行时 中运行,而不是在 Node.js 运行时,这样标准 Node.js API 存在一些限制。
您可以根据您的数据库方言选择以下驱动程序之一:
导航
Neon Postgres
安装 @neondatabase/serverless
驱动程序
安装 @neondatabase/serverless
驱动程序:
创建一个表
在 src/db
目录中创建一个 schema.ts
文件并声明一个表架构:
设置 Drizzle 配置文件
Drizzle 配置 - 由 Drizzle Kit 使用的配置文件,包含有关您的数据库连接、迁移文件夹和架构文件的所有信息。
在项目根目录创建 drizzle.config.ts
文件并添加以下内容:
在 .env
文件中配置您的数据库连接字符串:
将更改应用到数据库
您可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移存储在 drizzle
目录中,如您的 drizzle.config.ts
中所指定。该目录将包含更新数据库架构所需的 SQL 文件和用于存储不同迁移阶段/schema 快照的 meta
文件夹。
生成迁移的示例:
运行迁移:
或者,您可以使用 Drizzle kit push 命令 将更改直接推送到数据库:
IMPORTANT
Push 命令适合需要快速测试新架构设计或更改的情况,允许在本地开发环境中快速迭代,而无需管理迁移文件的开销。
将 Drizzle ORM 连接到您的数据库
在 src/db
目录中创建一个 index.ts
文件并设置您的数据库配置:
创建 API 路由
在 src/app/api/hello
目录中创建 route.ts
文件。有关如何编写函数的更多信息,请参见 Functions API Reference 和 Vercel Functions Quickstart。
在本地测试您的代码
运行 next dev
命令以启动本地开发服务器:
在浏览器中导航至您创建的路由 (例如 /api/hello)
:
部署您的项目
在 仪表板 中创建一个新项目或运行 vercel
命令以部署您的项目:
添加 POSTGRES_URL
环境变量:
重新部署您的项目以更新环境变量:
最后,您可以使用已部署项目的 URL 并导航至您创建的路由 (例如 /api/hello)
以访问您的边缘函数。
Vercel Postgres
您可以在 文档 中查看 Drizzle 与 Vercel Postgres 客户端的快速入门指南。
安装 @vercel/postgres
驱动程序
安装 @vercel/postgres
驱动程序:
创建一个表
在 src/db
目录中创建一个 schema.ts
文件并声明一个表架构:
设置 Drizzle 配置文件
Drizzle 配置 - 由 Drizzle Kit 使用的配置文件,包含有关您的数据库连接、迁移文件夹和架构文件的所有信息。
在项目根目录创建 drizzle.config.ts
文件并添加以下内容:
在 .env
文件中配置您的数据库连接字符串:
将更改应用到数据库
您可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移存储在 drizzle
目录中,如您的 drizzle.config.ts
中所指定。该目录将包含更新数据库架构所需的 SQL 文件和用于存储不同迁移阶段/schema 快照的 meta
文件夹。
生成迁移的示例:
运行迁移:
或者,您可以使用 Drizzle kit push 命令 将更改直接推送到数据库:
IMPORTANT
Push 命令适合需要快速测试新架构设计或更改的情况,允许在本地开发环境中快速迭代,而无需管理迁移文件的开销。
将 Drizzle ORM 连接到您的数据库
在 src/db
目录中创建一个 index.ts
文件并设置您的数据库配置:
创建 API 路由
在 src/app/api/hello
目录中创建 route.ts
文件。有关如何编写函数的更多信息,请参见 Functions API Reference 和 Vercel Functions Quickstart。
在本地测试您的代码
运行 next dev
命令以启动本地开发服务器:
在浏览器中导航至您创建的路由 (例如 /api/hello)
:
部署您的项目
在 仪表板 中创建一个新项目或运行 vercel
命令以部署您的项目:
添加 POSTGRES_URL
环境变量:
重新部署您的项目以更新环境变量:
最后,您可以使用已部署项目的 URL 并导航至您创建的路由 (例如 /api/hello)
以访问您的边缘函数。
PlanetScale
在本教程中我们使用 PlanetScale MySQL。
安装 @planetscale/database
驱动程序
安装 @planetscale/database
驱动程序:
创建一个表
在 src/db
目录中创建一个 schema.ts
文件并声明一个表架构:
设置 Drizzle 配置文件
Drizzle 配置 - 由 Drizzle Kit 使用的配置文件,包含有关您的数据库连接、迁移文件夹和架构文件的所有信息。
在项目根目录创建 drizzle.config.ts
文件并添加以下内容:
在 .env
文件中配置您的数据库连接字符串:
将更改应用到数据库
您可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移存储在 drizzle
目录中,如您的 drizzle.config.ts
中所指定。该目录将包含更新数据库架构所需的 SQL 文件和用于存储不同迁移阶段/schema 快照的 meta
文件夹。
生成迁移的示例:
运行迁移:
或者,您可以使用 Drizzle kit push 命令 将更改直接推送到数据库:
IMPORTANT
Push 命令适合需要快速测试新架构设计或更改的情况,允许在本地开发环境中快速迭代,而无需管理迁移文件的开销。
将 Drizzle ORM 连接到您的数据库
在 src/db
目录中创建一个 index.ts
文件并设置您的数据库配置:
创建 API 路由
在 src/app/api/hello
目录中创建 route.ts
文件。有关如何编写函数的更多信息,请参见 Functions API Reference 和 Vercel Functions Quickstart。
在本地测试您的代码
运行 next dev
命令以启动本地开发服务器:
在浏览器中导航至您创建的路由 (例如 /api/hello)
:
部署您的项目
在 仪表板 中创建一个新项目或运行 vercel
命令以部署您的项目:
添加 MYSQL_URL
环境变量:
重新部署您的项目以更新环境变量:
最后,您可以使用已部署项目的 URL 并导航至您创建的路由 (例如 /api/hello)
以访问您的边缘函数。
Turso
您可以在文档中查看 Drizzle 与 Turso 的 快速入门指南 或 教程。
安装 @libsql/client
驱动程序
安装 @libsql/client
驱动程序:
创建一个表
在 src/db
目录中创建一个 schema.ts
文件并声明一个表架构:
设置 Drizzle 配置文件
Drizzle 配置 - 由 Drizzle Kit 使用的配置文件,包含有关您的数据库连接、迁移文件夹和架构文件的所有信息。
在项目根目录创建 drizzle.config.ts
文件并添加以下内容:
在 .env
文件中配置您的数据库连接字符串和身份验证令牌:
将更改应用到数据库
您可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移存储在 drizzle
目录中,如您的 drizzle.config.ts
中所指定。该目录将包含更新数据库架构所需的 SQL 文件和用于存储不同迁移阶段/schema 快照的 meta
文件夹。
生成迁移的示例:
运行迁移:
或者,您可以使用 Drizzle kit push 命令 将更改直接推送到数据库:
IMPORTANT
Push 命令适合需要快速测试新架构设计或更改的情况,允许在本地开发环境中快速迭代,而无需管理迁移文件的开销。
将 Drizzle ORM 连接到您的数据库
在 src/db
目录中创建一个 index.ts
文件并设置您的数据库配置:
创建 API 路由
在 src/app/api/hello
目录中创建 route.ts
文件。有关如何编写函数的更多信息,请参见 Functions API Reference 和 Vercel Functions Quickstart。
在本地测试您的代码
运行 next dev
命令以启动本地开发服务器:
在浏览器中导航至您创建的路由 (例如 /api/hello)
:
部署您的项目
在 仪表板 中创建一个新项目或运行 vercel
命令以部署您的项目:
添加 TURSO_CONNECTION_URL
环境变量:
添加 TURSO_AUTH_TOKEN
环境变量:
重新部署您的项目以更新环境变量:
最后,您可以使用已部署项目的 URL 并导航至您创建的路由 (例如 /api/hello)
以访问您的边缘函数。