【问题标题】:update torndb connection timezone without spawning a new connection在不产生新连接的情况下更新 torndb 连接时区
【发布时间】:2018-10-17 18:52:17
【问题描述】:

假设您使用 torndb 在 API 上打开一个新的数据库连接

db_conn = torndb.Connection(ip,
                            database,
                            user=user,
                            password=password,
                            time_zone="UTC",
                            charset="utf8")

是否可以在代码中的初始声明之后将连接时区编辑为其他内容,或者是否需要使用更新的时区生成新连接。

我尝试使用db_conn.time_zone 访问 torndb.Connection 对象,但遇到了AttributeError: 'Connection' object has no attribute 'time_zone'

【问题讨论】:

  • 我认为不可能更改连接的时区。如果你通过source code,你会看到Torndb 在创建连接时实际上执行了SET time_zone 命令来设置时区。而且它没有提供执行 SQL 命令的方法(当然查询命令除外)。
  • @xyres 是的,我注意到,当我查看源代码时,我找到了解决方案,很快就会发布。

标签: python mysql database-connection tornado


【解决方案1】:

您不能直接更改连接对象 afaik 的时区。但是,您可以在需要更改时区时运行查询,例如 SET time_zone = "foo/bar"; 并执行它,只要连接会话存在,您就可以通过这种方式动态更改时区。

【讨论】:

    猜你喜欢
    • 2018-09-12
    • 1970-01-01
    • 2019-02-16
    • 2020-03-02
    • 2013-05-26
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2022-07-01
    相关资源
    最近更新 更多