Hasura对接GitHub CI/CD执行migrate skip命令报resource does not exist错误
Hasura迁移skip-execution提示resource does not exist的解决方案
问题根因
你当前执行的命令里endpoint参数配置错误:hasura migrate 命令对接的是Hasura的管理API,不需要带上 /v1/graphql 后缀,带后缀后请求路径不匹配就会返回resource does not exist错误。
解决方案
第一步:修正命令参数
把endpoint里的/v1/graphql后缀删除,修正后的命令如下:
hasura migrate apply --skip-execution --version 1631602988318 --endpoint "https://customer-support-dev.hasura.app" --admin-secret 'mySecretKey'
第二步:验证同步结果
执行修正后的命令后,可通过两个操作确认状态同步成功:
- 访问云端Hasura控制台的「Migrations」页面,版本号1631602988318的迁移记录会被标记为已应用
- 重新触发CI/CD流程,不会再重复执行该版本迁移,也不会再弹出表已存在的报错
其他排查点
如果修正endpoint后仍报错,按以下顺序排查问题:
- 确认
--admin-secret参数值和云端Hasura实例配置的管理员密钥完全一致,排查多余空格、引号转义错误 - 确认本地migrations目录下存在版本号为1631602988318的迁移文件,对应文件缺失也会触发资源不存在报错
- 确认执行命令的设备可以正常访问
https://customer-support-dev.hasura.app,排查网络代理、防火墙拦截问题
内容的提问来源于stack exchange,提问作者AtiqGauri
相关产品推荐
相关产品推荐

