我希望创建包含在表/架构创建期间由sqlalchemy执行的sql语句的脚本。我不不想打印一个我可以使用print(statement.compile(someengine))
进行的原始查询,但希望将所有查询都保存为脚本。我知道有一个名为echo=True
的标志,它将记录所有查询,但它仍然是日志而不是脚本。
在完成一些谷歌搜索之后,我进入了以下两个链接:
文档链接看起来很有希望,但会引发错误 我尝试过的示例代码:
from sqlalchemy import create_engine
uri ='postgresql://user:password@hostname/database_name'
def dump(sql, *multiparams, **params):
print(sql.compile(dialect=engine.dialect))
engine = create_engine(uri, strategy='mock', executor=dump)
上面的代码抛出了这个错误
'MockConnection'对象没有属性'url'
任何帮助或建议将不胜感激。