为什么ActiveRecord会截断此时间戳精度?

时间:2019-03-07 21:55:31

标签: mysql activerecord

我正在使用MySQL。我有一个ActiveRecord模型,其行为如下:

record = MyModel.new(some_attrs)
record.save
record.created_at.utc.iso8601(6) #=> "2019-03-07T21:46:19.255634Z"
record.reload
record.created_at.utc.iso8601(6) #=> "2019-03-07T21:46:19.000000Z"

为什么重新加载后会失去所有亚秒级精度?

1 个答案:

答案 0 :(得分:0)

我的猜测是初始时间戳是由ActiveRecord创建的,因为MySQL没有RETURNING子句来说明它实际插入了什么值。但是,重新加载后,它将使用MySQL实际存储的较低精度的时间戳。