The problem is in the command
iex -S mix phoenix.server
When I do
import Ecto.Query user = Repo.get_by!(User, username: "test")
** (UndefinedFunctionError) undefined function Repo.get_by!/2 (module Repo is not available) Repo.get_by!(User, [id: "1"])
What should I do ?
You need to include alias YourApp.Repo your include the whole Module name
when calling the function.
That’s because your current module doesn’t have
Repo module in it. I believe you’re referencing to
Phoenix.Repo which is need to be included in your module. You can do that by adding
alias YourApp.Repo in your module and call the function like you did or directly call the function like this
YourApp.Repo.get_by!(User, username: "test"). You will see a lot of code using
alias instead of referencing the full name. That will solve the problem.
Thank you ! I will test that when I can !
As others have pointed out, you don’t have your aliases set for these modules. One thing you can do to make your iex experience nicer is to configure iex to auto-alias the things you commonly use.
In your root directory create a file
.iex.exs and add some stuff to it: