Skip to main content
Gel(原名 EdgeDB)是一个构建于 Postgres 之上的图关系数据库。它提供声明式模式语言、迁移系统和面向对象的查询语言,同时也支持原始 SQL 查询。它在数据库层解决了对象关系映射问题,因此你的应用代码不需要 ORM 库。
首先,如果你还没有安装,请安装 Gel

使用 bun init 创建一个新的项目。
terminal

使用 Gel CLI 为项目初始化一个 Gel 实例。gel project init 命令会在项目根目录中创建一个 gel.toml 文件。
terminal

要检查数据库是否正在运行,请打开 REPL 并运行一个查询。
terminal
然后运行 \quit 退出 REPL。
terminal

接下来,定义一个模式。gel project init 命令已经创建了一个 dbschema/default.gel 文件来保存它。
File Tree

打开该文件,粘贴以下内容。
default.gel

然后生成并应用一个初始迁移。
terminal
terminal

应用模式后,使用 Gel 的 JavaScript 客户端库查询数据库。安装客户端库和 Gel 的代码生成 CLI,然后创建一个 seed.ts 文件。
terminal

将以下代码粘贴到 seed.ts 客户端会自动连接到数据库。该脚本使用 .execute() 方法插入几部电影,并使用 EdgeQL 的 for 表达式将批量插入转换为单个查询。
seed.ts

然后使用 Bun 运行此文件。
terminal

Gel 为 TypeScript 提供了多个代码生成工具。要针对已填充种子数据的数据库编写类型安全的查询,请使用 @gel/generate 生成 EdgeQL 查询构建器。
terminal

index.ts 中,从 ./dbschema/edgeql-js 导入生成的查询构建器,并编写一个选择查询。
index.ts

使用 Bun 运行该文件,查看刚才插入的电影。
terminal

请参阅 Gel 文档