Несогласованное состояние после транзакций в postgres sequelize - PullRequest
0 голосов
/ 29 января 2019

Так что я не уверен, почему, но некоторые из моих транзакций, кажется, не работают должным образом.

Например, у меня есть следующее

  • У счета есть поле для депозита = 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});
});

Я действительно не могу понять, как это может выйти из-под контроля.Мой другой запрос, который удаляет сумму депозита, в основном такой же.Такое случается редко, поэтому я не могу точно определить, когда это происходит, поэтому я не могу его отладить: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...