某些库和站点(如kotti)公开了从配置文件加载的数据库会话(它使用金字塔)。
一般情况下,您可以忽略sqlalchemy的驱动程序,但有一些问题,如getting a random row和using timezones with sqlite,这些问题要求您具有不同引擎的特定行为。
事情是,我看不出如何确定你在运行时使用的驱动程序。
你是怎么做到的?
具体来说,如何从会话(不是引擎或会话工厂)向后工作并弄清楚这一点?
答案 0 :(得分:9)
如果你这样做
session.bind.dialect.name
它会返回sqlite
或mysql
之类的内容,即网址开头的部分(mysql://...
)。如果您对更多信息感兴趣,也可以从dialect
对象中获取大多数其他信息。您可以在engine
或connection
(bind
)上找到此内容。