Hasura GraphQL Engine 安装与使用指南
1. 项目目录结构及介绍
在您克隆下来的Hasura GraphQL Engine仓库中,您会发现以下主要目录结构:
graphql-engine/
├── v2/ <- Hasura V2稳定版本的代码
└── v3/ <- Hasura V3(beta)版本的代码,即将发布的新特性
v2
和 v3
目录分别包含了Hasura GraphQL Engine的不同版本。其中,v2
是当前稳定版,而 v3
包含了最新的开发特性和改进。
注意: 根据需要选择相应版本进行部署或测试。v3
可能需要更多关注其beta状态的更新和可能的问题。
2. 项目的启动文件介绍
Hasura提供了一个Docker镜像来简化启动过程。通常,您可以使用Docker Compose来配置并运行Hasura服务。在您的本地环境中,可以找到一个名为 docker-compose.yaml
的文件,或者在Hasura的官方文档中找到示例配置。
version: '3'
services:
hasura:
image: hasura/graphql-engine:v2.0.5 # 使用适当版本号替换
ports:
- "8080:8080"
environment:
- HASURA_GRAPHQL_ENABLE_CONSOLE=true
- HASURA_GRAPHQL_DATABASE_URL=your_database_url
volumes:
- ./local-migrations:/hasura/migrations
- ./custom-scripts:/hasura/custom-scripts
在这个例子中,docker-compose.yaml
配置了Hasura服务,暴露8080端口,设置环境变量以连接数据库,并挂载了两个卷用于本地迁移和自定义脚本。
提示: 替换 HASURA_GRAPHQL_DATABASE_URL
为您自己的数据库URL。
3. 项目的配置文件介绍
Hasura配置可以通过环境变量或配置文件来指定。在上述 docker-compose.yaml
示例中,一些关键的环境变量已经设置好,如:
HASURA_GRAPHQL_ENABLE_CONSOLE
: 开启或关闭图形化控制台。HASURA_GRAPHQL_DATABASE_URL
: 数据库连接字符串。
此外,还可以通过将配置写入JSON文件并将其路径传递给 HASURA_GRAPHQL_CONFIG_FILE
环境变量来使用配置文件。例如,在 config.json
文件中:
{
"endpoint": "http://localhost:8080",
"database_url": "postgresql://username:password@host:port/database_name",
"schema": {
"public": true
}
}
然后在启动命令中添加:
env HASURA_GRAPHQL_CONFIG_FILE=./config.json docker-compose up
这将使用配置文件中的参数启动Hasura服务。
注意事项: 在生产环境中,确保敏感信息如数据库密码是安全存储的,例如使用环境变量或密钥管理服务。
以上内容只是Hasura GraphQL Engine入门的基础知识,更详细的配置和使用方法可参考官方文档Hasura GraphQL Engine 文档。