从Hasura Cloud导出的up.sql含restrict/unrestrict的原因及排除方法
关于Hasura CLI导出up.sql中出现\restrict/\unrestrict指令的问题
为什么会出现这些指令?
这些\restrict和\unrestrict是Hasura CLI专属的特殊指令,作用是在导出/导入元数据与SQL的过程中,临时锁定Hasura的元数据操作,避免执行SQL期间有其他元数据变更(比如控制台的修改)干扰整个流程。中间的随机字符串是唯一锁定令牌,用来标记本次锁定会话,防止和其他并行操作冲突。
有没有CLI参数可以排除这些指令?
目前Hasura CLI没有提供直接跳过这些指令的参数,但可以通过以下方式处理:
- 手动移除:如果是直接在PostgreSQL中执行up.sql,这些指令会被PostgreSQL忽略,不会影响SQL执行;如果是用Hasura CLI导入,移除后也不会有问题,只要导入过程中没有其他元数据操作。
- 保留使用:如果通过Hasura CLI执行导入,这些指令会被自动识别并处理,完成SQL执行后自动释放锁定,不会对最终的数据库状态产生额外影响。
内容的提问来源于stack exchange,提问作者NULL pointer
相关产品推荐
相关产品推荐

