You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I expect there to be no database UPDATE when I add a date to the changeset that is identical to the one in the database, just like with native dates. However it looks like there is always an update happening. Is this a bug or am I using it wrong?
iex|34 ▶ {:ok,some_date}="2018-05-15T13:05:00.000+0000"|>Timex.parse!("{ISO:Extended}")|>Timex.Timezone.convert("Europe/Berlin")|>Timex.Ecto.TimestampWithTimezone.cast(){:ok,#DateTime<2018-05-15 15:05:00.000+02:00 CEST Europe/Berlin>}iex|35 ▶ episode = Directory.get_episode!1
SELECT ...[1]%Directory.Episode{...publication_date: #DateTime<2018-05-15 15:05:00+02:00 CEST Europe/Berlin>,updated_at: #DateTime<2018-05-15 15:20:50Z>}
iex|36 ▶ Directory.update_episode(episode,%{publication_date: some_date})
begin []
UPDATE "episodes" SET "publication_date"= $1,"updated_at" = $2 WHERE "id"= $3[{{2018,5,15},{13,5,0,0}},{{2018,5,15},{15,22,4,0}},1]
SELECT ...{:ok,%Directory.Episode{publication_date: #DateTime<2018-05-15 15:05:00.000+02:00 CEST Europe/Berlin>,updated_at: #DateTime<2018-05-15 15:22:04Z>}}
I digged deep enough to find a workaround but not far enough to say with certainty where the bug lies.
It's a precision issue.
"2018-05-25T09:00:00+0000"
vs
"2018-05-25T09:00:00.000+0000"
In my understanding they should be treated equally when I pass them into Timex.parse!(datetime, "{ISO:Extended}") regarding changesets but they are not.
My workaround is to remove the ms part from the source before parsing:
I expect there to be no database UPDATE when I add a date to the changeset that is identical to the one in the database, just like with native dates. However it looks like there is always an update happening. Is this a bug or am I using it wrong?
Context (shortened):
The text was updated successfully, but these errors were encountered: