Pada dasarnya Anda dapat melakukannya hanya dengan menjalankan kueri tersebut dalam transaksi yang sama. Itu memaksa knex untuk menggunakan koneksi yang sama untuk semua kueri.
Cara lain untuk melakukannya adalah mendapatkan koneksi dari pool secara manual dengan knex.client.aqcuireConnection()
dan gunakan knex.connection(connection)
untuk menjalankan kueri dalam koneksi tunggal itu. Terakhir, Anda perlu melepaskan koneksi kembali ke kumpulan agar tidak membocorkan koneksi dengan knex.client.releaseConnection(connection)
.
Sesuatu seperti:
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);
}