Maxximiliann

Maxximiliann

** (FunctionClauseError) no function clause matching in Ecto.Repo.Schema.do_insert_all/6

The Repo.insert_all(SCHEMA, MAP(S), OPTS) pattern has been my go to without any issue until now. Any assistance disambiguating the error message below is greatly appreciated :slight_smile:

defmodule FastCarsDB.Vehicles do
    use Ecto.Schema
    import Ecto.Changeset

    schema "vehicles" do
        field :make, :string, null: false
        field :color, :string, null: false
        field :mileage, :float, null: false

        timestamps(type: :utc_datetime)
    end

    def changeset(vehicles, params \\ %{}) do
        vehicles
        |> Ecto.Changeset.cast(params, [:make, :color, :mileage])
        |> validate_required([:make, :color, :mileage])
    end

end
defmodule Foo do
    alias FastCarsDB.{Repo, Vehicles}

    def update_db do
        record =
        %{
            color: "Red", 
            make: "Mclaren", 
            mileage: 15641.469, 
            inserted_at: DateTime.truncate(DateTime.utc_now, :second), 
            updated_at: DateTime.truncate(DateTime.utc_now, :second)
        }

        Repo.insert_all(Vehicles, record, on_conflict: :nothing)
    end
end

Error Message:

iex(1)> Foo.update_db
** (FunctionClauseError) no function clause matching in Ecto.Repo.Schema.do_insert_all/6    

The following arguments were given to Ecto.Repo.Schema.do_insert_all/6:

# 1
FastCarsDB.Repo

# 2
FastCarsDB.Vehicles

# 3
nil

# 4
"vehicles"

# 5
%{
    color: "Red", 
    make: "Mclaren", 
    mileage: 15641.469, 
    inserted_at: ~U[2020-06-28 22:41:23Z], 
    updated_at: ~U[2020-06-28 22:41:23Z]
}

# 6
[on_conflict: :nothing]

Attempted function clauses (showing 2 out of 2):

defp do_insert_all(_name, _schema, _prefix, _source, [], opts)
defp do_insert_all(name, schema, prefix, source, rows, opts) when is_list(rows)

(ecto 3.4.5) lib/ecto/repo/schema.ex:26: Ecto.Repo.Schema.do_insert_all/6
(elixir 1.10.3) lib/enum.ex:1396: Enum."-map/2-lists^map/1-0-"/2
(elixir 1.10.3) lib/enum.ex:1396: Enum."-map/2-lists^map/1-0-"/2

Marked As Solved

Maxximiliann

Maxximiliann

Yup, that did it! Thanks so much :slight_smile:

Where Next?

Popular in Questions Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New

Other popular topics Top

vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40165 209
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement