PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Knex.js force la réutilisation de session pour 4 requêtes suivantes

Fondamentalement, vous ne pouvez le faire qu'en exécutant ces requêtes dans la même transaction. Cela force knex à utiliser la même connexion pour toutes les requêtes.

Une autre façon de le faire est d'acquérir manuellement la connexion à partir du pool avec knex.client.aqcuireConnection() et utilisez knex.connection(connection) pour exécuter des requêtes dans cette connexion unique. Enfin, vous devez libérer la connexion vers le pool pour ne pas fuir les connexions avec knex.client.releaseConnection(connection) .

Quelque chose comme :

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);
}