我在Rails 4和5中遇到了不同的行为,具体来说,在代码中模型的
我没有改变这些值的数据库类型。我正在使用带有activerecord-oracle_enhanced-adapter gem(v1.7.0)的Oracle,列是在迁移中“正常”创建的,即使用
created_at
和updated_at
值的类别方面存在差异。在Rails 4中,它显示它们是ActiveSupport::TimeWithZone
,但在Rails 5中它们只是一个Date
。这些值也(显然)使用puts
打印出不同。我没有改变这些值的数据库类型。我正在使用带有activerecord-oracle_enhanced-adapter gem(v1.7.0)的Oracle,列是在迁移中“正常”创建的,即使用
t.timestamps
而没有进行特殊配置。» bundle exec rails c
Running via Spring preloader in process 69059
Loading development environment (Rails 4.2.7.1)
[1] (pry) main: 0> Rails.version
=> "4.2.7.1"
[2] (pry) main: 0> Document.first.created_at.class
[ SQL Omitted ]
=> ActiveSupport::TimeWithZone ←←←←←←←←←←←← HERE
[3] (pry) main: 0> puts Document.first.updated_at
[ SQL Omitted ]
2016-09-08 17:05:18 -0600 ←←←←←←←←←←←←←←←←← HERE
=> nil
[4] (pry) main: 0> !!!
» git flow feature checkout rails-5
Switched to branch 'feature/rails-5'
» bundle exec rails c
Running via Spring preloader in process 69533
Loading development environment (Rails 5.0.1)
[1] (pry) main: 0> Rails.version
=> "5.0.1"
[2] (pry) main: 0> Document.first.created_at.class
[ SQL Omitted ]
=> Date ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←← HERE
[3] (pry) main: 0> puts Document.first.updated_at
[ SQL Omitted ]
2016-09-08 ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←← HERE
=> nil
他们真的更改了这个吗,还是我做错了什么?我漏掉了什么?