本教程演示了如何使用 Turso 与 Drizzle ORM。
This guide assumes familiarity with:
- 您应该已经安装了
dotenv
包以管理环境变量。您可以在这里了解更多关于此包的信息。
- 您应该已经安装了
@libsql/client
包。请在这里了解更多关于此包的信息。
- 您应该已经安装了 Turso CLI。请查阅文档以了解更多信息。
Turso 是一个兼容 SQLite 的数据库,构建在 libSQL 上,libSQL 是 SQLite 的开放提交分支。它支持每个组织的数十万个数据库的扩展,并支持复制到任何位置,包括您自己的服务器,以实现微秒级访问延迟。您可以在这里了解更多有关 Turso 概念的信息。
Drizzle ORM 本地支持 libSQL 驱动程序,我们支持 SQL 方言和特定于方言的驱动程序和语法,并且镜像了最流行的 SQLite-like 的 all
、get
、values
和 run
查询方法的语法。
请参阅官方文档以设置 Turso 数据库。
设置 Turso 和 Drizzle ORM
注册或登录 Turso
注册:
登录:
创建新数据库
通过运行 turso db create <DATABASE_NAME>
命令创建一个新数据库:
要查看有关数据库的信息,请运行以下命令:
创建身份验证令牌
要为您的数据库创建身份验证令牌,请运行以下命令:
在文档中了解有关此命令及其选项的更多信息。
更新环境变量
使用数据库连接 URL 和身份验证令牌更新您的 .env
或 .env.local
文件。
连接 Drizzle ORM 到您的数据库
在 src/db
目录中创建一个 index.ts
文件,并设置您的数据库配置:
创建表
在 src/db
目录下创建一个 schema.ts
文件,并声明你的表:
设置 Drizzle 配置文件
Drizzle 配置 - 此配置文件用于 Drizzle Kit,其中包含有关您的数据库连接、迁移文件夹和模式文件的所有信息。
在项目根目录中创建一个 drizzle.config.ts
文件,并添加以下内容:
将更改应用到数据库
您可以使用 drizzle-kit generate
命令生成迁移,然后使用 drizzle-kit migrate
命令运行它们。
生成迁移:
这些迁移保存在 migrations
目录中,如您在 drizzle.config.ts
中指定的那样。此目录将包含更新数据库模式所需的 SQL 文件以及用于在不同迁移阶段存储模式快照的 meta
文件夹。
生成的迁移示例:
运行迁移:
或者,您可以直接使用 Drizzle Kit 推送命令将更改推送到数据库:
💡
推送命令适用于需要在本地开发环境中快速测试新的模式设计或更改的情况,它允许快速迭代而无需管理迁移文件的开销。
基本文件结构
这是项目的基本文件结构。在 src/db
目录中,我们有与数据库相关的文件,包括 index.ts
中的连接和 schema.ts
中的模式定义。
查询示例
例如,我们创建 src/db/queries
文件夹,并针对每个操作创建单独的文件:insert、select、update、delete。
插入数据
在文档中阅读有关插入查询的更多信息。
查询数据
在文档中阅读有关选择查询的更多信息。
或者,您可以使用关系查询语法。
更新数据
在文档中阅读有关更新查询的更多信息。
删除数据
在文档中阅读有关删除查询的更多信息。