bitwalker / bitwalker/timex_ecto

(Ecto.ChangeError) value `{{YYYY, M, D}, {0, 0, 0, 0}}` for ... in insert does not match type Timex.Ecto.DateTime

Open
#32 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
162
Forks
68
PR merge metrics
No merged PRs in 30d

Description

Getting the following error:

```
** (Ecto.ChangeError) value `{{2016, 9, 3}, {0, 0, 0, 0}}` for `App.Session.expiration` in `insert` does not match type Timex.Ecto.DateTime
(ecto) lib/ecto/query/planner.ex:33: anonymous fn/6 in Ecto.Query.Planner.fields/4
(stdlib) lists.erl:1262: :lists.foldl/3
(ecto) lib/ecto/query/planner.ex:21: Ecto.Query.Planner.fields/4
(ecto) lib/ecto/repo/schema.ex:449: Ecto.Repo.Schema.dump_changes/5
(ecto) lib/ecto/repo/schema.ex:77: anonymous fn/11 in Ecto.Repo.Schema.do_insert/4
(ecto) lib/ecto/repo/schema.ex:477: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/9
(ecto) lib/ecto/pool.ex:292: Ecto.Pool.with_rollback/3
(ecto) lib/ecto/adapters/sql.ex:582: Ecto.Adapters.SQL.transaction/8
(ecto) lib/ecto/pool.ex:244: Ecto.Pool.outer_transaction/6
(ecto) lib/ecto/adapters/sql.ex:551: Ecto.Adapters.SQL.transaction/3
```

With the following model:

```
defmodule App.Session do
use App.Web, :model
use Timex

schema "sessions" do
field :key, :string
field :expiration, Timex.Ecto.DateTime

timestamps
end

@required_fields ~w(key expiration)
@optional_fields ~w()

def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
end

def update_key_changeset(model) do
changeset( model, %{ key: 'key', expiration: Date.now |> Date.shift(days: 90) })
end
end
```

Here are my versions

```
$ mix hex.outdated
Dependency Current Latest Requirement
phoenix 1.1.6 1.1.6 ~> 1.1.6
phoenix_ecto 2.0.2 2.0.2 ~> 2.0.2
timex 2.1.6 2.1.6 ~> 2.1.6
timex_ecto 1.1.1 1.1.1 ~> 1.1.1
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.