我有一个带有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上遇到此问题,我可以通过this中的database.yml
配置修复它