python - SQLAlchemy 从 create() 打印原始 SQL

标签 python sqlalchemy pylons

我正在尝试使用 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/

相关文章:

python - 从什么时候开始在 Python 中存在 bytes() 函数?

python - 使用 numpy 广播/矢量化从其他数组构建新数组

python - 评估步骤中的权重衰减 - Tensorflow

python - SQLAlchemy 在一个文件中使用两种不同的模型创建两个数据库

Python Sqlalchemy 计算查询中的重复结果

python - 在 reddit.com 中执行 "paster shell example.ini"时出错

mysql - sqlalchemy 中的随机 ID( Pylons )

python - webdriver 等待多个元素之一出现

python - 为什么我无法使用 'source env/bin/activate' 命令激活我的虚拟 Python 环境?

python - 为什么我会收到 SQLAlchemy 嵌套回滚错误?