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小时的主要内容,如果未能解决你的问题,请参考以下文章

无法在heroku上恢复postgres转储

运行heroku命令时出现证书过期错误

尝试将 AWS S3 数据库备份到 heroku postgres 时出现 403 错误

无法将本地 Postgres 数据库推送到 Heroku

我正在尝试将我的本地 spring boot 应用程序连接到我的 heroku postgres db

如何将 .sql 文件导入 Heroku postgres 数据库?