Как сделать блокировку на уровне строк с помощью Sails Waterline ORM?
в транзакции:
// I need to make following query with FOR UPDATE
let account = await BankAccount
.findOne({ owner: userId })
.usingConnection(db);
newBalance = account.balance - __PRICE__;
if (newBalance < 0)
throw new Error('Insufficient funds');
await BankAccount.update({ owner: userId })
.set({
balance: newBalance
})
.usingConnection(db);