jRuby和ActiveRecord 5以UTC检索日期时间,但时间错误

问题描述 投票:0回答:1

我有一个带有ActiveRecord,MySQL和jRuby的非Rails应用程序。我们最近从activerecord 4升级到5,并且开始出现此问题:

jruby-9.2.7.0 :018 > ActiveRecord::Base.default_timezone
 => :utc

jruby-9.2.7.0 :013 > date = Time.now
 => 2020-05-08 16:37:01 -0300

jruby-9.2.7.0 :016 > Term.create(version: 'some-value', created_at: date)

D, [2020-05-08T16:37:31.440094 #62090] DEBUG -- :    (79.4ms)  BEGIN TRANSACTION
D, [2020-05-08T16:37:31.561324 #62090] DEBUG -- :   Term Create (81.9ms)  INSERT INTO `terms` (`version`, `created_at`) VALUES ('some-value', '2020-05-08 19:37:01')
D, [2020-05-08T16:37:31.725987 #62090] DEBUG -- :    (162.3ms)  COMMIT TRANSACTION

=> #<Term id: 14, version: "some-value", created_at: "2020-05-08 19:37:01">

jruby-9.2.7.0 :017 > Term.last.created_at
 => 2020-05-08 16:37:01 UTC

预期的created_at值应该是2020-05-08 19:37:01 UTC。

欢迎任何可能发生的事情的帮助:)

mysql ruby datetime activerecord jruby
1个回答
0
投票

[如果其他人在MySQL上遇到此问题,我可以通过this中的database.yml配置修复它

© www.soinside.com 2019 - 2024. All rights reserved.