【问题标题】:Set timestamps to microseconds in Phoenix with MySQL使用 MySQL 在 Phoenix 中将时间戳设置为微秒
【发布时间】:2017-06-15 14:42:45
【问题描述】:

我在使用 Phoenix 1.2、ecto 2.1.4、mariaex 0.8.2、mysql 5.6.33 时遇到了问题 — 我想以微秒为单位存储时间戳,但 timestamps/1 函数创建的列是标准datetime,四舍五入到秒。在the docs 中,他们提到了usec 时间戳选项,但即使明确地将其设置为true 也不会改变表格。

【问题讨论】:

    标签: mysql elixir phoenix-framework ecto


    【解决方案1】:

    undocumented option 用于 timestamps/1 函数:size。所以timestamps(size: 6) 会将数据库列设置为datetime(6)


    在最新版本的 Ecto 中,有一个专用的 usec 类型,described here

    【讨论】:

    • 现在改成usec了吗?因为我确实尝试过但没有用,不确定是不是因为这是最近的变化。
    • 你使用的是什么版本?
    • 我会尝试对时间戳使用“类型”选项并将其设置为其中一种 usec 类型。
    • timestamps(type: :utc_datetime_usec) 工作正常(Elixir 1.7.4,Phoenix 1.4)
    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 2012-09-17
    • 2011-04-14
    • 1970-01-01
    • 2011-10-18
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多