Zasadniczo możesz to zrobić tylko uruchamiając te zapytania w tej samej transakcji. To zmusza knex do używania tego samego połączenia dla wszystkich zapytań.
Innym sposobem na to jest ręczne uzyskanie połączenia z puli za pomocą knex.client.aqcuireConnection()
i użyj knex.connection(connection)
do uruchamiania zapytań w tym pojedynczym połączeniu. Na koniec musisz zwolnić połączenie z powrotem do puli, aby nie przeciekać połączeń za pomocą knex.client.releaseConnection(connection)
.
Coś takiego:
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);
}