Ich fand gerade ein witziges Verhalten auf Ecto beim Erstellen insert_at und updated_at.Ecto lustiges Verhalten in Datetime?
Vor vergangen Mitternacht meine App verhält normalen .. aber nach Mitternacht vergangen verhält es sich wie unter log
[info] >>> RUNTIME DATETIME {{2017, 7, 4}, {2, 38, 43}}
[info] >>> CHAT NEW = %Portal.DailyChat{__meta__:
#Ecto.Schema.Metadata<:loaded, "daily_chats">, id: 17, inserted_at: ~N[2017-07-03 19:38:43.315000], messages:
"{\"chats\":[{\"time\":\"2:38:43\",\"message\":\"Test\",\"from\":\"bi***@gmail.com\"}]}", read: true, updated_at: ~N[2017-07-03 19:38:43.315000], user_a: %Po
rtal.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: 3, inserted_at: ~N[2017-06-16 20:08:05.000000], name: "Indra", password: nil, password_
hash: "AF41E68E1309FA29A5044CBDC36B90A3821D8807E68C7675A6C495112BC8A55F", updated_at: ~N[2017-06-16 20:08:05.000000], username: "bi****@gmail.com"}, user_a_id:
3, user_b: %Portal.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: 1, inserted_at: ~N[2017-06-16 16:18:25.000000], name: "Bromo", passw
ord: nil, password_hash: "AF41E68E1309FA29A5044CBDC36B90A3821D8807E68C7675A6C495112BC8A55F", updated_at: ~N[2017-06-16 16:18:25.000000], username: "bro***@gm
ail.com"}, user_b_id: 1}
Wert für >>> RUNTIME DATETIME- wird erzeugt unter Verwendung: calendar.local_time, die produziert eine korrekte Zeit.
Für >>> Chat NEU Werte ist, was Ecto erzeugt, nachdem Daten an die DB, die beide updated_at und inserted_at sind falsche Zeit persistierende!
Weiß jemand, wie man dieses Problem behebt?
Dank
Lesen Sie über die Zeitstempel Makro hier: https://hexdocs.pm/ecto/Ecto.Schema.html Ich denke, Sie könnten entweder entfernen und ersetzen oder das Verhalten anpassen. –