Về cơ bản, bạn có thể làm điều đó chỉ bằng cách chạy các truy vấn đó trong cùng một giao dịch. Điều đó buộc quỳ phải sử dụng cùng một kết nối cho tất cả các truy vấn.
Một cách khác để thực hiện là lấy kết nối từ pool theo cách thủ công với knex.client.aqcuireConnection()
và sử dụng knex.connection(connection)
để chạy các truy vấn trong một kết nối duy nhất đó. Cuối cùng, bạn cần giải phóng kết nối trở lại nhóm để không làm rò rỉ các kết nối với knex.client.releaseConnection(connection)
.
Một cái gì đó như:
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);
}