Repolode
graphile

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 数据每日更新。

相关项目