我正在尝试使用 SQLAlchemy 尝试 Pylons,我喜欢它,只有一件事,是否可以打印出从 Table() 生成的原始 SQL
在执行之前?CREATE TABLE
数据.create()
最佳答案
from sqlalchemy.schema import CreateTable
print(CreateTable(table))
如果您使用的是声明式语法:
print(CreateTable(Model.__table__))
更新:
因为我已经接受了答案,并且 klenwell answer 中有重要信息,我这里也加一下。
您可以通过使用您的引擎进行编译来获取特定数据库(MySQL、Postgresql 等)的 SQL。
print(CreateTable(Model.__table__).compile(engine))
更新 2:
@jackotonye 在评论中添加了一种无需引擎的方法。
print(CreateTable(Model.__table__).compile(dialect=postgresql.dialect()))
关于python - SQLAlchemy 从 create() 打印原始 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2128717/