加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl DBIx :: Class是否可以覆盖从数据库中检索列的方式?

发布时间:2020-12-15 23:33:26 所属栏目:大数据 来源:网络整理
导读:我从来没有使用DBIx :: Class直到今天,所以我对它完全陌生. 我不确定这是否可行,但基本上我的SQLite数据库中有一个表中有一个时间戳列. timestamp列的默认值是“CURRENT_TIMESTAMP”. SQLite将其存储在GMT时区中,但我的服务器位于CDT时区. 我的SQLite查询在
我从来没有使用DBIx :: Class直到今天,所以我对它完全陌生.

我不确定这是否可行,但基本上我的SQLite数据库中有一个表中有一个时间戳列. timestamp列的默认值是“CURRENT_TIMESTAMP”. SQLite将其存储在GMT时区中,但我的服务器位于CDT时区.

我的SQLite查询在正确的时区获取时间戳是这样的:

select datetime(timestamp,'localtime') from mytable where id=1;

我想知道在我的DBIx架构中是否有可能“MyTable”强制它在每次从数据库中检索“timestamp”字段时应用datetime函数?

在cookbook中,当使用 – > search()函数时看起来可以这样做,但是我想知道如果我使用search(),find(),all()是否可以这样做,find_or_new(),或任何将从数据库中提取此列的函数,它将应用datetime()SQLite函数吗?

DBIx :: Class似乎有很好的文档 – 我认为我只是如此新鲜,我找不到合适的地方/事物来搜索.

提前致谢!

解决方法

我已经以这种方式和时间戳使用了InflateColumn :: DateTime,我可以确认它有效,但我想知道你是否有这个落后.

如果您的列是UTC,请标记UTC列,然后在加载时应该是UTC时间.然后,当您在DateTime上设置set_timezone时(可能是输出问题 – 它在输出中,您关心它在本地区域划分),您可以将其设置为本地时间,并进行必要的调整.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读