V zásadě to můžete udělat pouze spuštěním těchto dotazů ve stejné transakci. To nutí knex používat stejné připojení pro všechny dotazy.
Dalším způsobem, jak to udělat, je získat připojení z fondu ručně pomocí knex.client.aqcuireConnection()
a použijte knex.connection(connection)
spouštět dotazy v tomto jediném připojení. Nakonec musíte uvolnit připojení zpět k fondu, aby nedošlo k úniku spojení pomocí knex.client.releaseConnection(connection)
.
Něco jako:
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);
}