Fondamentalmente puoi farlo solo eseguendo quelle query nella stessa transazione. Ciò costringe knex a utilizzare la stessa connessione per tutte le query.
Un altro modo per farlo è acquisire manualmente la connessione dal pool con knex.client.aqcuireConnection()
e usa knex.connection(connection)
per eseguire query in quella singola connessione. Infine è necessario rilasciare nuovamente la connessione al pool per non perdere le connessioni con knex.client.releaseConnection(connection)
.
Qualcosa come:
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);
}