Я даю Опорам попытку с SQLAlchemy, и я люблю его, есть всего одна вещь, действительно ли возможно распечатать сырой SQL, СОЗДАЮТ данные о СТОЛЕ, произведенные из Стола () .create (), прежде чем он будет выполнен?
from sqlalchemy.schema import CreateTable
print(CreateTable(table))
Если вы используете декларативный синтаксис:
print(CreateTable(Model.__table__))
Обновление:
Поскольку у меня есть принятый ответ и есть важная информация в ответе Кленвелла , я также добавлю его сюда.
Вы можете получить SQL для вашей конкретной базы данных (MySQL, Postgresql и т. Д.), Скомпилировав ее с помощью вашего движка.
print(CreateTable(Model.__table__).compile(engine))
Обновление 2:
@jackotonye В комментариях добавлен способ сделать это без движка.
print(CreateTable(Model.__table__).compile(dialect=postgresql.dialect()))
Что-то вроде этого? (Из FAQ SQLA)
http://docs.sqlalchemy.org/en/latest/faq/sqlexpressions.html