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