@neondatabase/serverless 驱动程序或通过像 Drizzle 这样的 ORM 来使用 Neon。
Drizzle ORM 同时支持类似 SQL 的”查询构建器”API 和类似 ORM 的查询 API。通过创建项目目录,使用 bun init 初始化目录,并安装 Drizzle 和 Neon 无服务器驱动程序来开始。
terminal
创建一个 [.env.local] 文件并添加您的Neon Postgres 连接字符串。
.env.local
我们将使用 Neon 无服务器驱动程序连接到 Neon 数据库,并包装在 Drizzle 数据库实例中。
要查看数据库的实际运行情况,请将这些行添加到 [index.ts] 中。
然后使用 Bun 运行 [index.ts]。
terminal
我们可以使用 Drizzle ORM 原语为我们的数据库定义一个模式。创建一个 [schema.ts] 文件并添加此代码。
然后使用
drizzle-kit CLI 生成初始 SQL 迁移。
这将创建一个新的
drizzle 目录,其中包含一个 .sql 迁移文件和 meta 目录。
File Tree
我们可以使用简单的 [migrate.ts] 脚本执行这些迁移。此脚本创建一个到 Neon 数据库的新连接,并执行
drizzle 目录中的所有未执行的迁移。
migrate.ts
我们可以使用
bun 运行此脚本来执行迁移。
terminal
我们现在可以向数据库添加一些数据。创建一个 [seed.ts] 文件,内容如下。
然后运行此文件。
terminal
我们现在有一个带有模式和示例数据的数据库。我们可以使用 Drizzle 来查询它。将 [index.ts] 的内容替换为以下内容。
然后运行该文件。您应该看到我们插入的三位作者。
terminal
此示例使用了 Neon 无服务器驱动程序的基于 HTTP 的 SQL 功能。Neon 的无服务器驱动程序还公开了
Client 和 Pool 构造函数,以启用会话、交互式事务和 node-postgres 兼容性。有关完整的概述,请参阅 Neon 的文档。
有关使用 Drizzle ORM 的更多文档,请参阅 Drizzle 网站。