本教程展示了如何将 Drizzle ORM 与 Vercel Functions 结合使用,并在 Edge runtime 中使用。
This guide assumes familiarity with:
- 你应该有一个现有的 Next.js 项目,或者使用以下命令创建一个新的项目:
💡
如果你在安装时遇到依赖解析问题:
如果不是在使用 React Native,那么使用 --force
或 --legacy-peer-deps
强制安装应该可以解决问题。如果是使用 React Native,那么你需要使用与你的 React Native 版本兼容的确切版本的 React。
与 Edge 兼容的驱动程序
在使用 Drizzle ORM 与 Vercel Edge 功能时,你需要使用与 Edge 兼容的驱动程序,因为这些函数在 Edge runtime 中运行,而不是在 Node.js runtime 中,所以有一些标准的 Node.js API 的限制。
你可以根据你的数据库方言选择以下驱动程序之一:
导航
Neon Postgres
安装 @neondatabase/serverless
驱动
安装 @neondatabase/serverless
驱动:
创建表
创建 schema.ts
文件在 src/db
目录下,并声明一个表架构:
设置 Drizzle 配置文件
Drizzle 配置 - 一个配置文件,由 Drizzle Kit 使用,包含所有关于你的数据库连接、迁移文件夹和模式文件的信息。
在项目根目录创建一个 drizzle.config.ts
文件,并添加以下内容:
在 .env
文件中配置你的数据库连接字符串:
应用对数据库的更改
你可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移保存在 drizzle
目录中,正如你的 drizzle.config.ts
中指定的那样。这个目录将包含更新你的数据库模式所需的 SQL 文件,以及一个 meta
文件夹,用于在不同迁移阶段存储模式快照。
生成的迁移示例:
运行迁移:
或者,你可以使用 Drizzle kit push 命令 直接将更改推送到数据库:
💡
Push 命令适合于在本地开发环境中快速测试新的模式设计或更改,允许快速迭代,无需管理迁移文件的开销。
将 Drizzle ORM 连接到你的数据库
在 src/db
目录中创建一个 index.ts
文件,并设置你的数据库配置:
创建 API 路由
在 src/app/api/hello
目录下创建 route.ts
文件。要了解如何编写函数,请参阅 Functions API Reference 和 Vercel Functions Quickstart。
测试你的代码本地
运行 next dev
命令来启动你的本地开发服务器:
在你的浏览器中导航到你创建的路线 (e.g. /api/hello)
:
部署你的项目
在 dashboard 中创建一个新的项目,或者运行 vercel
命令来部署你的项目:
添加 POSTGRES_URL
环境变量:
重新部署你的项目以更新你的环境变量:
最后,你可以使用部署项目的 URL,并导航到你创建的路线 (e.g. /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 文件,以及一个 meta
文件夹,用于在不同迁移阶段存储模式快照。
生成的迁移示例:
运行迁移:
或者,你可以使用 Drizzle kit push 命令 直接将更改推送到数据库:
💡
Push 命令适合于在本地开发环境中快速测试新的模式设计或更改,允许快速迭代,无需管理迁移文件的开销。
将 Drizzle ORM 连接到你的数据库
在 src/db
目录中创建一个 index.ts
文件,并设置你的数据库配置:
创建 API 路由
在 src/app/api/hello
目录下创建 route.ts
文件。要了解如何编写函数,请参阅 Functions API Reference 和 Vercel Functions Quickstart。
测试你的代码本地
运行 next dev
命令来启动你的本地开发服务器:
在你的浏览器中导航到你创建的路线 (e.g. /api/hello)
:
部署你的项目
在 dashboard 中创建一个新的项目,或者运行 vercel
命令来部署你的项目:
添加 POSTGRES_URL
环境变量:
重新部署你的项目以更新你的环境变量:
最后,你可以使用部署项目的 URL,并导航到你创建的路线 (e.g. /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 文件,以及一个 meta
文件夹,用于在不同迁移阶段存储模式快照。
生成的迁移示例:
运行迁移:
或者,你可以使用 Drizzle kit push 命令 直接将更改推送到数据库:
💡
Push 命令适合于在本地开发环境中快速测试新的模式设计或更改,允许快速迭代,无需管理迁移文件的开销。
将 Drizzle ORM 连接到你的数据库
在 src/db
目录中创建一个 index.ts
文件,并设置你的数据库配置:
创建 API 路由
在 src/app/api/hello
目录下创建 route.ts
文件。要了解如何编写函数,请参阅 Functions API Reference 和 Vercel Functions Quickstart。
测试你的代码本地
运行 next dev
命令来启动你的本地开发服务器:
在你的浏览器中导航到你创建的路线 (e.g. /api/hello)
:
部署你的项目
在 dashboard 中创建一个新的项目,或者运行 vercel
命令来部署你的项目:
添加 MYSQL_URL
环境变量:
重新部署你的项目以更新你的环境变量:
最后,你可以使用部署项目的 URL,并导航到你创建的路线 (e.g. /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 文件,以及一个 meta
文件夹,用于在不同迁移阶段存储模式快照。
生成的迁移示例:
运行迁移:
或者,你可以使用 Drizzle kit push 命令 直接将更改推送到数据库:
💡
Push 命令适合于在本地开发环境中快速测试新的模式设计或更改,允许快速迭代,无需管理迁移文件的开销。
将 Drizzle ORM 连接到你的数据库
在 src/db
目录中创建一个 index.ts
文件,并设置你的数据库配置:
创建 API 路由
在 src/app/api/hello
目录下创建 route.ts
文件。要了解如何编写函数,请参阅 Functions API Reference 和 Vercel Functions Quickstart。
测试你的代码本地
运行 next dev
命令来启动你的本地开发服务器:
在你的浏览器中导航到你创建的路线 (e.g. /api/hello)
:
部署你的项目
在 dashboard 中创建一个新的项目,或者运行 vercel
命令来部署你的项目:
添加 TURSO_CONNECTION_URL
环境变量:
添加 TURSO_AUTH_TOKEN
环境变量:
重新部署你的项目以更新你的环境变量:
最后,你可以使用部署项目的 URL,并导航到你创建的路线 (e.g. /api/hello)
来访问你的边缘函数。