Как я могу выполнить целый sql файл в базу данных с помощью SQLAlchemy? Может быть много различных запросов SQL в файле включая, начинают и фиксируют/откатывают.
К сожалению, я не знаю хорошего общего ответа на этот вопрос. Некоторые dbapi (например, psycopg2) поддерживают выполнение многих операторов одновременно. Если файлы не огромные, вы можете просто загрузить их в строку и выполнить при подключении. Для других я бы попробовал использовать клиент командной строки для этой базы данных и передавать данные туда с помощью модуля подпроцесса.
Если эти подходы неприемлемы, тогда вам придется пойти дальше и реализовать небольшой парсер SQL, который сможет разделить файл на отдельные операторы. Это очень сложно сделать на 100% правильно, так как вам придется учитывать правила экранирования литералов, специфичные для диалекта базы данных, используемый charset, любые опции конфигурации базы данных, которые влияют на разбор литералов (например, PostgreSQL standard_conforming_strings).
Если вам нужно, чтобы все было правильно только на 99,9%, то с помощью магии regexp вы пройдете большую часть пути.