gpt4 book ai didi

mysql - activerecord 是否截断时间戳精度?

转载 作者:可可西里 更新时间:2023-11-01 08:17:53 26 4
gpt4 key购买 nike

使用 Rails 4.0.0、ruby 2.0p247 和 mysql2 0.3.13 gem。 MariaDB 5.5 表中的一列

注意:mariadb从5.3开始就有微秒精度支持

  `updated_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,

精度应该是微秒,所以我在我的模型文件中尝试

before_save :set_update

def set_update
# also tried
# self.updated_at = "2013-10-03 12:35:00.123456 -700"
# self.updated_at = Time.now.strftime "%Y-%m-%d %H:%M:%S %6N"
# self.updated_at = Time.now.iso8601(6)
# doesn't work, still no microseconds

self.updated_at = Time.now.to_f
end

但是在数据库中还是

| updated_at                 |
+----------------------------+
| 2013-10-03 19:35:00.000000 |
+----------------------------+

为什么 rails/activerecord 不存储微秒?

最佳答案

开始工作了:

将其添加到 config/initializers 中的文件

class Time
DATE_FORMATS = {
:db => '%Y-%m-%d %H:%M:%S.%6N'
}
end

参见 conversions.rb了解更多信息。

关于mysql - activerecord 是否截断时间戳精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com