因此,Rails 4.2开始支持MySQL的小数秒。但是it requires a migration of column change from datetime to datetime(6)。目前我们不想这样做,只是想忽略小数秒,就像我们以前一直在做的那样。在MySQL上禁用Rails 4.2小数秒支持
Rails不够聪明,看不到我的日期时间精度为0,并相应地更改查询,所以我们的许多规范都崩溃了。例如,我们断言“选择在最近一小时内创建的所有Foo”,但值保持无毫秒,但select语句仍然使用毫秒,因此很多记录不会被选中。
的Rails 4.2之前:
where("foo_at >= ?", 1.day.ago)
=>foo_at >= '2015-11-02 04:48:18'
在Rails 4.2:
where("foo_at >= ?", 1.day.ago)
=>foo_at >= '2015-11-02 04:48:18.934162'
是否有一个全局设置强制AR查询以去掉小数/毫秒,它以前一直在做?