7 млс для одних и тех же пользователей. Проверка на chatExists есть. Как предотвратить такие случаи? Нужно чтобы был всего лишь один чат между двумя пользователями
Socket io?
Через index, unique typeorm декораторы здесь не получится
ну заблокируй запись то оптимистично
Средствами базы это делается. А именно транзакции и ограничения.
и какое ограничение может быть?
CONSTRAINT ... UNIQUE (..., ...)
не подойдет, у меня создается промежуточная таблица chatId = 1, userId = 1, userId = 2 chatId = 2, userId = 3, userId = 4 я могу повесить unique на пользователей, но это ничего мне не даст. У меня запросто возникнет может такой случай chatId = 1, userId = 1, userId = 2 chatId = 2, userId = 1, userId = 2
Ничего не понятно, почему колонка userId 2 раза повторяется? Также можно накинуть составной уникальный индекс(т.е по двум и более колонкам)
Может userId1 и userId2?
Зачем deferred? Вопрос в проверке на уникальность
Потому что если не будет его, то проверка будет после каждой операции. И она сломается аккуратно между добавлениями юзеров в чат
Обсуждают сегодня