【问题标题】:Saving Rails 3 time in server local time to support non-timezone aware systems在服务器本地时间保存 Rails 3 时间以支持非时区感知系统
【发布时间】:2011-10-05 06:42:06
【问题描述】:

我们中的一些人无法在 UTC 中存储和使用时间,因为与现有数据或纯粹在本地访问且不知道时区的遗留/连接系统存在兼容性问题。

一种方法是在 Rails 中禁用 UTC 时间,许多人尝试过但没有找到方法,我以前没有见过。

我们如何覆盖 Rails 3 中的 UTC 时间节省?

您如何管理系统中的此类问题?

【问题讨论】:

    标签: ruby-on-rails-3 timezone legacy


    【解决方案1】:

    我发现使用 MSSql 后端在我的应用程序上工作的是以下配置组合

    我在 application.rb 中有

    config.time_zone = '[the server's timezone]'
    config.active_record.default_timezone = :local
    ActiveRecord::Base.time_zone_aware_attributes = false
    

    时间按服务器时间保存,未转换为 UTC 并相应显示。

    我没有在任何其他数据库后端尝试过这个。

    也许另一种解决方案是创建专用时间列供 Rails 使用,并使用触发器在这些 UTC 时间数据与另一组时间列(本地时间)之间同步,以支持旧版和非时区感知系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 2013-03-09
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      相关资源
      最近更新 更多