11

一些库和站点(如kotti)公开了从配置文件加载的数据库会话(它使用金字塔)。

一般来说,您可以忽略 sqlalchemy 的驱动程序,但是有一些问题,例如获取随机行使用 sqlite 的时区,这需要您对不同的引擎有特定的行为。

问题是,我看不到如何确定您在运行时使用的驱动程序。

你怎么做到这一点?

具体来说,如何从会话(不是引擎或会话工厂)中逆向工作并解决这个问题?

4

1 回答 1

20

如果你这样做

session.bind.dialect.name

它将返回类似sqliteor的内容,即 URL ( )mysql开头的部分。如果您对更多信息感兴趣,mysql://...也可以从对象中获取大多数其他信息。dialect您可以在任何engineconnection(即bind)上找到它。

于 2013-10-28T22:30:37.457 回答