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

Ter*_*hia 3 mysql node.js knex.js node-mysql2

我想首先创建到我的数据库的连接(使用 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,
}):
Run Code Online (Sandbox Code Playgroud)

Mik*_*stö 8

无法使用外部连接来初始化整个 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);

Run Code Online (Sandbox Code Playgroud)