关于 Hasura CLI
hasura 是 Hasura GraphQL Engine 的官方命令行工具。可以初始化和管理 Hasura 项目、执行数据库迁移、加载种子数据、启动本地管理控制台、管理元数据。支持完整的本地开发工作流,将 GraphQL schema 变更纳入版本控制。
主要功能
- 01初始化 Hasura 项目并生成配置文件
- 02创建和应用数据库迁移与种子数据
- 03在本地启动交互式控制台编辑 schema 和权限
- 04验证并导出 GraphQL 元数据用于版本控制
适用场景
- 01在开发中使用本地 Hasura 环境,将 schema 变更提交到 Git
- 02为测试或临时环境创建和应用数据库迁移
- 03自动化 GraphQL API 配置和权限设置
安装
选择你的系统或包管理器,复制命令到终端运行。
安装完成后运行hasura --version确认安装成功。
命令示例
常用命令按使用顺序排列。
详细介绍

Hasura GraphQL 引擎
Hasura 引擎是一个开源项目,通过提供对数据的访问,让现代应用的构建如虎添翼。数据可通过一个统一、可组合且安全的 API 端点访问。
Hasura V3
数据交付的未来现已正式发布(GA):支持 PostgreSQL(及其衍生版本)、MongoDB、ClickHouse 和 MS SQL Server。还支持使用 Typescript、Python 和 Go Connector SDK 编写自定义业务逻辑。以下是 DDN 上推荐的入门指南。
为 Hasura DDN 提供支持的 Hasura v3 引擎代码位于此仓库的 v3 文件夹中。更多详细信息请参阅此 v3 README。
Hasura DDN 架构包含用于连接数据源的数据连接器。所有 Hasura 连接器也都完全开源。请查看列出所有可用连接器的 Connector Hub。
Hasura V2
Hasura V2 是 Hasura GraphQL Engine 当前的稳定版本。有关 Hasura V2 Graphql Engine 的更多详细信息,请查看 v2 文件夹和此 README。
克隆仓库
此仓库是一个大型且活跃的单体仓库,包含 Hasura 生态系统的许多部分,并拥有很长的 git 历史记录,这可能会导致首次克隆仓库耗时较长并占用大量磁盘空间。如果你遇到克隆问题,我们建议尝试以下方法。
浅克隆
这只会克隆最新的提交,并忽略所有历史提交。
git clone https://github.com/hasura/graphql-engine.git --depth 1
仅检出 Hasura V3 引擎代码
git clone --no-checkout https://github.com/hasura/graphql-engine.git --depth 1
cd graphql-engine
git sparse-checkout init --cone
git sparse-checkout set v3
git checkout @
这会检出顶层文件以及仅包含 Hasura V3 引擎代码的 v3 文件夹。
支持与故障排除
要排查大多数问题,请查看我们的文档和社区资源。如果你遇到 bug 或需要联系我们,可以通过以下任一渠道联系:
- Hasura DDN 文档:DDN 文档
- Hasura V2 文档:V2 文档
- 支持与反馈:Discord
- 问题与 bug 跟踪:GitHub issues
- 关注产品更新:@HasuraHQ
- 通过我们的网站聊天联系我们
行为准则
我们致力于在社区中营造开放、友好的环境。请参阅行为准则。
安全
如果你想报告安全问题,请阅读此文。
获取最新动态
加入我们的社区,及时了解公告、活动、产品更新和技术博客。 https://hasura.io/community/
贡献
更多详情请查看我们的贡献指南。
品牌素材
Hasura 品牌素材(徽标、Hasura 吉祥物、“powered by”徽章等)位于 v2/assets/brand 文件夹中。欢迎在你的应用/网站等项目中使用。如果你能在使用 Hasura 构建的应用中添加 “Powered by Hasura” 徽章,我们将非常高兴。❤️
许可证
V3
所有数据连接器均采用Apache License 2.0许可。
核心 V3 GraphQL Engine 计划采用 Apache License 2.0(Apache-2.0)许可。
V2
V2 核心 GraphQL Engine 采用 Apache License 2.0(Apache-2.0)许可。
v2 文件夹中的所有其他内容(server、cli 和
console 目录中的内容除外)均采用 MIT License 许可。
这包括 docs 和 community
目录中的所有内容。