使用现有 (mysql2) 连接创建 Knex 实例

Create Knex instance with existing (mysql2) connection

我想先创建一个到我的数据库的连接(使用 mysql2),然后再创建一个新的 Knex 实例。我在文档中找不到任何关于此的内容。这甚至可能吗?

所以,理想情况下我想做这样的事情(简化版):

const mysql = require('mysql2');
const Knex = require('knex');

const connection = mysql.createConnection(connectionConfig);
await connection.connect();
const knex = new Knex({
    client: 'mysql2',
    connection: connection,
}):

无法通过外部连接初始化整个 knex,但您可以将现有连接传递给 knex,例如:

const mysql = require('mysql2');
const Knex = require('knex');

const connection = mysql.createConnection(connectionConfig);
await connection.connect();

const knex = Knex({
  client: 'mysql2'
});

// this is documented in knex docs
const res = await knex('table').connection(connection).where('id', 1);