基本的には、同じトランザクションでこれらのクエリを実行することによってのみそれを行うことができます。これにより、knexはすべてのクエリに同じ接続を使用するようになります。
これを行う別の方法は、knex.client.aqcuireConnection()
を使用してプールから手動で接続を取得することです。 knex.connection(connection)
を使用します その単一の接続でクエリを実行します。最後に、knex.client.releaseConnection(connection)
で接続をリークしないように、接続をプールに解放する必要があります。 。
次のようなもの:
let connection = await knex.client.acquireConnection();
try {
const res = await knex('table').connection(connection).where('id',1);
const res2 = await knex('table2').connection(connection).where('id',1);
} finally {
knex.client.releaseConnection(connection);
}