У меня есть вопросы о транзакциях Slick 3
Я хочу запустить серию строк удаления и убедиться, что каждое удаление выполнено успешно. В случае сбоя я хочу отменить все транзакции
Вот некоторый псевдо-код Slick:
val action = DBIO.seq(
TableQuery[X].filter(_.x===a).delete,
TableQuery[Y].filter(_.y===b).delete,
TableQuery[Z].filter(_.z===c).delete
).transactionally
database.run(action)
В этом случае каждое из удалений должно удалить существующую строку. Если кто-то на самом деле не находит строку для удаления, я хочу, чтобы вся транзакция откатилась.
Что такое идиома, чтобы сделать это в Slick?
Заранее спасибо Питер