Knex Insert 和 onConflict 不是一个函数

The*_*123 5 node.js knex.js

我尝试使用 knex 添加一个简单的 upsert。推荐的方法是(对于 postgres)使用 onConflict。有效的原始代码(更新部分除外):

const dbObject = db();
await dbObject('names')
  .insert({key: key, name: name});
Run Code Online (Sandbox Code Playgroud)

所以我根据我在手册中看到的内容更新了它:

在此输入图像描述

const dbObject = db();
await dbObject('names')
  .insert({key: key, name: name})
  .onConflict('key')
  .merge();
Run Code Online (Sandbox Code Playgroud)

但是,这给出了以下错误:

类型错误:dbObject(...).insert(...).onConflict 不是函数

这对我来说是一个谜,因为我使用的是正确的版本:

npm 查看knex版本

0.95.0

knex db 对象基本上是通过以下方式创建的(配置是从文件加载的):

const knex = knexBuilder({
  client: 'pg',
  connection: config,
  pool: {min: 0, max: maxConnections},
});
return knex
Run Code Online (Sandbox Code Playgroud)

是什么导致了错误,onConflict怎么不是一个函数?