Синхронизировать доступ к БД с помощью gorm - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть программа, которая выполняет серию команд в БД, используя gorm. В случае сбоя любой из этих команд более ранние команды должны выполнить откат. В этом случае транзакция Gorm работает нормально.

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

Я хочу знать, будет ли полезна транзакция gorm в этом случае , Чтобы код работал, я использовал блокировки на уровне приложения.

Есть ли более чистый подход? Все программы используют одно и то же соединение с БД.

...