如何为 Ecto 时间戳 inserted_at 插入 seeds.ex 数据

How to insert in seeds.ex data for Ecto timestamp inserted_at

我正在尝试将某些 test/initial 值硬编码到 seeds.ex 中以用于 Ecto 时间戳 inserted_at,但出现错误:

MyProj.Repo.insert!(%MyProj.MyModel{inserted_at[:month]: 5, name: "nananana", email: "blablabla@gmail.com", tel: "99999999"})

我已经尝试过使用 . 而不是括号,但它是一样的。

Ecto 期望那里有一个 Ecto.DateTime 结构。

有很多方法可以根据您现有的结构生成此结构。因为你有 NaiveDateTime,这应该有效:

inserted_at: ~N[2017-04-13 00:30:10]
             |> NaiveDateTime.to_erl()
             |> Ecto.DateTime.from_erl()

如果你有一个erlang约会,它可以更简单:

inserted_at: Ecto.DateTime.from_erl({{2017, 4, 13}, {0, 30, 10}})