Как работает оптимистичная блокировка в Node.js ORM?

Senior
196 просмотров
AFK Offer AI

Optimistic locking предотвращает lost update проблему без блокировки БД. Добавляешь поле version: Int (или updatedAt) к модели. При обновлении: UPDATE users SET data = $1, version = version + 1 WHERE id = $2 AND version = $3. Если affected rows = 0 — кто-то другой изменил запись — повторяешь попытку. TypeORM: @VersionColumn() — автоматически. Prisma: нет встроенной поддержки, делаешь вручную. Для Mongoose: mongoose-update-if-current плагин.

Следующий вопрос

Что такое AsyncLocalStorage в Node.js?