Postgres本地恢复Heroku备份将日期时间字段提前4小时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgres本地恢复Heroku备份将日期时间字段提前4小时相关的知识,希望对你有一定的参考价值。
我正在我的Mac上恢复下载的Heroku Postgres备份进行一些测试。所有日期时间列(在每个模型中)都已提前4小时。需要解决它。
似乎它必须是时区问题,但我的本地服务器实例与Heroku实例位于同一时区。 (同样的Time.zone.to_s导致我的本地控制台和Heroku控制台)
有任何想法吗?
编辑:我检查了Heroku postgres实例,它的时区是UTC(通过SELECT current_setting('TIMEZONE')检查)。 postgres实例的时区之间的差异感觉就像问题。
我正在尝试将我的本地postgres实例设置为UTC,但它一直在重新回到EDT。
修复:在application.rb中,从config.active_record.default_timezone =:local更改了config.active_record.default_timezone =:utc
答案
我假设你的时区是“东部时间(美国和加拿大)”。
这是有道理的,因为Rails默认将你的created_at
日期设置为UTC。所以,时间戳是UTC。
要纠正这个...只需在application.rb
中设置你的时区......
module YourAppName
class Application < Rails::Application
config.time_zone = "Eastern Time (US & Canada)"
end
end
以上是关于Postgres本地恢复Heroku备份将日期时间字段提前4小时的主要内容,如果未能解决你的问题,请参考以下文章
尝试将 AWS S3 数据库备份到 heroku postgres 时出现 403 错误