此更新日志涉及并发保护功能。
我们正在将 changeFromQuantity 于2026-01中引入的 在 2026-01 变更设为必填,并移除库存 Set Quantities 变体中的 compare Quantity 和 ignore Compare Quantity 字段。 compareQuantity 和 ignoreCompareQuantity 用于 inventorySetQuantities 变体。
这是一项破坏性变更。请注意,尽管changeFromQuantity字段在模式层面未显示为必填,但在调用这些突变时若不传入null或传入当前实际数量,将在运行时导致错误。
您需要执行的操作
在迁移到版本2026-04之前,请更新您的应用程序逻辑以包含changeFromQuantity参数:
- 要启用并发检查(推荐):传递预期的当前数量。
- 要选择退出(跳过检查):显式传递 changeFromQuantity: null
此外,在迁移之前,您必须从突变调用中移除ignoreCompareQuantity参数和compareQuantity参数。
如何使用该字段
以前,为了绕过比较检查,您将ignoreCompareQuantity设置为true。
现在,为了绕过比较检查,您需要向changeFromQuantity字段显式传递null;若要启用检查,请传递一个整数,该整数表示更新到期望值之前的初始数量。
在以下示例中,仅当当前可用数量为 5 时,操作才能成功将新的可用数量设置为 12。如果在此期间其他进程修改了数量,您将收到错误,并且可以使用更新后的值重试。
mutation { inventorySetQuantities( input: { quantities: [ { quantity: 12, inventoryItemId: "gid://shopify/InventoryItem/2", locationId: "gid://shopify/Location/1", changeFromQuantity: 5 } ], reason: "correction", name: "available" } ) { inventoryAdjustmentGroup { id } userErrors { code message } } }移除旧版字段
compareQuantity和ignoreCompareQuantity字段将在版本2026-04中被移除。
有关比较和交换以及何时应选择不进行比较检查的更多信息,请参阅我们的文档。我们鼓励用户除非其用例有正当理由,否则避免选择不进行对比检查。

