SQLAlchemy разработан таким образом, что не позволяет эхогенерировать созданные DDL-операторы без их фактического выполнения. AFAIK, SQLAlchemy Migrate использует mock engine для фиксации операторов без выполнения, когда используется опция --preview_sql, поэтому использование этого является одним из способов решения вашей проблемы.