面向 Node.js 与 TypeScript 的 ORM,提供类型安全的数据库访问,支持 PostgreSQL、MySQL、SQLite、MongoDB 等。
graphile/crystal
GraphQL 与 PostgreSQL 工具合集仓库,包含 Grafast 执行引擎和 PostGraphile 自动 GraphQL API 生成器。
可替代:Hasura
- Star
- 12,934
- Fork
- 631
- 未关闭 Issue
- 181
- 最近提交
- 15小时前
这是什么?
Graphile Crystal 是一个 monorepo,收录了 Graphile 项目的多个包,大多与 GraphQL 相关。其中两个主要项目是 Grafast 和 PostGraphile。Grafast 是面向 GraphQL.js 的规划与执行引擎,可直接替代 execute 方法;PostGraphile 则基于 PostgreSQL 数据库自动生成 GraphQL API。
Grafast 使用 plan resolver 替代传统 resolver,借助 GraphQL 请求的声明式结构来更高效地执行业务逻辑。PostGraphile 以数据库为事实来源,并可通过 graphile-export 将自动生成的 API 导出为代码,之后再由开发者自行维护。
仓库还包含一些配套库:pg-sql2 用于通过带标签的模板字符串构建参数化的 PostgreSQL 查询;pg-introspection 提供带类型的数据库元信息查询;graphile-config 负责插件、预设和配置文件;graphile-build 则用于从插件组装 GraphQL schema。PostGraphile V4 的代码位于单独的 legacy 分支。
核心功能
- 01Grafast 可替代 GraphQL.js 的 execute 方法,作为执行引擎使用。
- 02PostGraphile 根据 PostgreSQL 数据库结构自动生成 GraphQL API。
- 03plan resolver 让业务逻辑以引擎可优化的方式声明。
- 04pg-sql2 通过带标签的模板字符串构建可防止 SQL 注入的 PostgreSQL 查询。
- 05graphile-export 可将动态构建的 schema 导出为普通 JavaScript 源码。
适用场景
- 在 GraphQL.js 之上构建需要高效数据加载的 GraphQL 服务。
- 直接基于已有的 PostgreSQL 数据库生成 GraphQL API。
- 从 PostgreSQL 生成初始 API,之后再手动定制维护。
- 在 Node.js 中编写类型安全、可动态组合的 PostgreSQL 查询。
使用前须知
- 这是一个包含众多包的单体仓库,README 中没有统一的安装或运行命令。
- PostGraphile V4 位于单独的 legacy 分支,而不是当前主线。
标签
常见问题
- crystal 是什么?
- GraphQL 与 PostgreSQL 工具合集仓库,包含 Grafast 执行引擎和 PostGraphile 自动 GraphQL API 生成器。 Graphile Crystal 是一个 monorepo,收录了 Graphile 项目的多个包,大多与 GraphQL 相关。其中两个主要项目是 Grafast 和 PostGraphile。Grafast 是面向 GraphQL.js 的规划与执行引擎,可直接替代 execute 方法;PostGraphile 则基于 PostgreSQL 数据库自动生成 GraphQL API。
- crystal 可以免费使用吗?用的什么许可证?
- crystal 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- crystal 还在维护吗?
- 活跃维护中。crystal 最近一次提交是在 2026年10月21日。
- crystal 适合用来做什么?
- 在 GraphQL.js 之上构建需要高效数据加载的 GraphQL 服务。 直接基于已有的 PostgreSQL 数据库生成 GraphQL API。 从 PostgreSQL 生成初始 API,之后再手动定制维护。 在 Node.js 中编写类型安全、可动态组合的 PostgreSQL 查询。
- 在哪里获取 crystal?
- 源代码和安装说明在 GitHub 上:https://github.com/graphile/crystal
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
轻量级、无头的 TypeScript ORM,支持 PostgreSQL、MySQL 和 SQLite,可运行于 Node.js、Bun、Deno 及边缘运行时。
面向 Node.js 与 TypeScript 的 ORM,支持 PostgreSQL、MySQL、SQLite 等多种数据库。
为任意 SQL 数据库自动提供 REST 和 GraphQL API、可视化管理后台,以及面向 AI 智能体的 MCP 服务。
开源引擎,可将 PostgreSQL、MongoDB、SQL Server 等数据库即时暴露为带细粒度权限控制的 GraphQL API。
把现有 PostgreSQL 数据库直接变成 RESTful API 的独立服务,无需手写后端代码。