надо сохранить весь массив данных. Решил использовать для этого транзакцию. стэк express js и postgresql с открытыми sql запросами. Теперь не могу понять в какой момент мне кидать rollback если произошла ошибка
есть метод query где он создает пул для запроса в базу
query = (sql, params = []) => {
return new Promise((resolve, reject) => {
console.log(sql, params);
PostgresPool.connect((err, client, done) => {
if (err) {
console.log(err);
reject(new ErrorHandler(500, 'db connection problems'));
}
client.query(sql, params, (error, result) => {
done();
if (error) {
console.log(error);
reject(new ErrorHandler(500, 'bad request'));
}
resolve(result);
});
});
});
};
Как лучше этот момент реализовать ?
Лучше пойти почитать про идемпотентность и понять что любой запрос на изменение базы данных не может быть идемпотентным. По определению.
Это уже другое дело, тут я именно не могу понять когда кидать роллбак и как ее кидать?
Обсуждают сегодня