rollback нужен, если у вас происходят изменения данных в БД на момент падения. В вашем коде в for loop идёт вставка элементов в лист (без связки с БД). Если и выпадет исключение SQLalchemy, то на момент выполнения all(), при получении элементов. Но тогда и rollback делать не на что будет, т.к. вы сами никаких изменений (другими словами set операций) не производите, только get.
Если вы хотите rollback, чтобы вернуть хоть часть элементов из all() запроса, то не получится, т.к. этот get выполняется один раз и возвращается сразу все элементы, поэтому он или завершится успешно, или упадёт с исключением (в случае последнего откатываться (=rollback) будет, опять же, некуда)