启用非事务性迁移
作者: avimoondra创建于 2019年9月25日更新于 2026年7月6日
标签k/enhancementc/serverp/mediume/easya/api/graphql
出于DB安全原因,有时需要同时添加一个索引. 采用`一致 ' 选项:
PostgreSQL将构建索引,而无需取出任何能防止同时插入,更新,或删除到桌面上的锁;而标准索引构建则会将写出(但不读出)到桌面完成.
但是这个参数不能用于迁移,因为Hasura在应用时会运行交易中的迁移. 但并行的索引创建不能被交易块所包裹:
另一个不同之处是,一个常规的 CREATE INDEX 命令可以在交易区块内执行,但 CREATE INDEX Conscurrectly 无法执行.
本案中似乎没有任何绕道或逃出舱门,除了完全不跟踪移民,直接运行在db实例上外.
一些解决方案可能是在应用程序 api 中包含一个选项,或者在 yml 中不为迁移文件本身包裹交易编码 。
Discord的原始请求:https://discordapp.com/channels/407792526867693568/5357276611673364/626175223724769295
邮政文件:https://www.ZPostgreSQL.org/docs/9.1/sql-createindex.html
内容来源: hasura/graphql-engine