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

前端之家收集整理的这篇文章主要介绍了Perl DBIx :: Class是否可以覆盖从数据库中检索列的方式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从来没有使用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时(可能是输出问题 – 它在输出中,您关心它在本地区域划分),您可以将其设置为本地时间,并进行必要的调整.

猜你在找的Perl相关文章