URL
对象并将其传递给 create_engine
来开始一个程序。在一段很远很远的代码中,我想找出这个引擎连接到什么,即连接 URL。
inspect
我只能看到如何获取驱动程序类型。我可以理解连接字符串的密码组件是否不再可用,但我希望其他所有内容仍然可用。
有什么想法吗?
这对我来说非常有效:
log.info("* Using DB: %s" % (engine.url))
文档随着时间的推移而改进:https://docs.sqlalchemy.org/en/20/core/engines.html#sqlalchemy.engine.URL
数据库 url (
dialect+driver://username:password@host:port/database
) 可以通过 render_as_string(hide_password: bool = True)
作为字符串查看,这也使您可以控制是否以纯文本形式显示密码。默认情况下,类 __repr__
会调用 return self.render_as_string()
,因此会屏蔽密码。
如果您想要方言或其组件,您可以调用 get_dialect、get_backend_name,即 + 的左侧,以及 get_driver_name,即右侧。