Обнови, выбери атомарный.ГОРМ ОРМ - PullRequest
0 голосов
/ 25 мая 2019

Могу ли я сделать что-то подобное в gorm, psql?

UPDATE job SET status = 'RUNNING' WHERE status = 
'PENDING' RETURNING *

Я хочу получить все строки, которые были изменены обновлением, с помощью одной атомарной операции. Если есть другие решения, напишите это.

1 Ответ

0 голосов
/ 26 мая 2019

Насколько я знаю, возможно иметь лишь небольшой недостаток

Предполагая, что ваша модель называется Job, вы можете сделать что-то вроде этого ...

var jobs []Job
db.Find(&jobs).Where("status = ?", StatusPending).Update("status", StatusRunning)

ЛинииВлияние будет в jobs var, но я должен сказать, что вы получите строки, как они были до обновления, поэтому состояние моделей будет «В ОЖИДАНИИ»

...