Skip to content

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

@markshiz

Description

@markshiz

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions