Так что я не уверен, почему, но некоторые из моих транзакций, кажется, не работают должным образом.
Например, у меня есть следующее
- У счета есть поле для депозита = 10
- Депозиты для учетной записи = 10
Это нормально, и я ожидаю, что эти цифры совпадут.
Но через некоторое время я вижу следующее:
- Аккаунт имеет поле для депозита = 0
- Депозиты для аккаунта = 10
И я не могу понять, почему.
Все мои запросы, которыеизменить аккаунт и внести депозиты в транзакцию, подобную этой:
const amount = 5
await sequelize.transaction(async (transaction: Transaction) => {
await models.Account.update({
amount: sequelize.literal(`"amount" + ${amount}`),
}, {where: {id: accountId}, transaction});
await Deposit.update({
amount: sequelize.literal(`"amount" + ${amount}`),
}, {transaction});
});
Я действительно не могу понять, как это может выйти из-под контроля.Мой другой запрос, который удаляет сумму депозита, в основном такой же.Такое случается редко, поэтому я не могу точно определить, когда это происходит, поэтому я не могу его отладить: (