oracle - Rails 5 - created_at 和 updated_at 类

标签 oracle types model ruby-on-rails-5

我在 Rails 4 和 5 之间遇到了不同的行为;具体来说,代码中模型的 created_atupdated_at 值的类。在 Rails 4 中,它显示它们是 ActiveSupport::TimeWithZone,但 Rails 5 只是将它们作为 Date。这些值也(显然)使用 puts 以不同的方式打印出来。

我没有更改这些值的数据库类型。我将 Oracle 与 activerecord-oracle_enhanced-adapter gem (v1.7.0) 一起使用,并且这些列是在使用 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

他们真的改变了吗,还是我做错了什么?我错过了什么?

最佳答案

我在 activerecord-oracle_enhanced-adapter 中错过了这个文档,但有明确的Rails 4.2 to 5 upgrade instructions我需要申请。

关于oracle - Rails 5 - created_at 和 updated_at 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41603279/

相关文章:

oracle - ORA-01461 (with > 4k varchar2) 错误 仅在合并语句中。插入或更新工作正常

types - 在火柴臂中创建闭包

c - 编程数据类型

java - Java中如何确定数字数据类型?

oracle - 从 IIS 托管的 Web 应用程序连接到 Oracle 时出现 "Unhandled Execution Error"

java - 连接Oracle是否需要clearBatch并取消?

SQL ORACLE 按一个月中的所有天进行分组

php - 关联用户在同一表上的 Laravel 查询

model - 无法覆盖 Magento 中的核心模型

php - 在 Laravel 中,如何从 Users 表中检索随机 user_id 以生成模型工厂种子数据?