Twfo326
Postgrex Error 42P01 relation "characters" does not exist
I’m running into this error
** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "characters" does not exist
when I try to insert a character into the DB.
Steps taken:
Creating a movie:
alias Friends.{Movie, Character, Repo}
movie = %Movie{title: "Ready Player One", tagline: "Something about video games"}
Inserting the movie:
movie = Repo.insert!(movie)
Creating a character
character = Ecto.build_assoc(movie, :characters, %{name: "Wade Watts"})
Inserting a character
Repo.insert!(character)
18:03:52.358 [debug] QUERY ERROR db=0.0ms queue=5.5ms idle=1209.5ms
INSERT INTO "characters" ("movie_id","name") VALUES ($1,$2) RETURNING "id" [1, "Bruce"]
** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "characters" does not exist
query: INSERT INTO "characters" ("movie_id","name") VALUES ($1,$2) RETURNING "id"
(ecto_sql 3.7.2) lib/ecto/adapters/sql.ex:760: Ecto.Adapters.SQL.raise_sql_call_error/1
(ecto 3.7.2) lib/ecto/repo/schema.ex:744: Ecto.Repo.Schema.apply/4
(ecto 3.7.2) lib/ecto/repo/schema.ex:367: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
(ecto 3.7.2) lib/ecto/repo/schema.ex:269: Ecto.Repo.Schema.insert!/4
Output from:
mix do ecto.drop, ecto.create, ecto.migrate
The database for Friends.Repo has been dropped
The database for Friends.Repo has been created
17:59:56.273 [info] == Running 20220316202504 Friends.Repo.Migrations.CreatePeople.change/0 forward
17:59:56.278 [info] create table people
17:59:56.297 [info] == Migrated 20220316202504 in 0.0s
17:59:56.342 [info] == Running 20220316223207 Friends.Repo.Migrations.CreateMovies.change/0 forward
17:59:56.342 [info] create table movies
17:59:56.356 [info] == Migrated 20220316223207 in 0.0s
17:59:56.364 [info] == Running 20220316224808 Friends.Repo.Migrations.CreateCharacters.change/0 forward
17:59:56.364 [info] create table charaters
17:59:56.372 [info] == Migrated 20220316224808 in 0.0s
17:59:56.380 [info] == Running 20220317003543 Friends.Repo.Migrations.CreateDistributors.change/0 forward
17:59:56.380 [info] create table distributors
17:59:56.388 [info] create index distributors_movie_id_index
17:59:56.394 [info] == Migrated 20220317003543 in 0.0s
17:59:56.402 [info] == Running 20220318020506 Friends.Repo.Migrations.CreateActors.change/0 forward
17:59:56.402 [info] create table actors
17:59:56.414 [info] == Migrated 20220318020506 in 0.0s
17:59:56.421 [info] == Running 20220318020901 Friends.Repo.Migrations.CreateMoviesActors.change/0 forward
17:59:56.421 [info] create table movies_actors
17:59:56.429 [info] create index movies_actors_movie_id_actor_id_index
17:59:56.435 [info] == Migrated 20220318020901 in 0.0s
movie schema:
defmodule Friends.Movie do
use Ecto.Schema
schema "movies" do
field(:title, :string)
field(:tagline, :string)
has_many(:characters, Friends.Character)
has_one(:distributor, Friends.Distributor)
many_to_many(:actors, Friends.Actor, join_through: "movies_actors")
end
end
character schema`
defmodule Friends.Character do
use Ecto.Schema
schema "characters" do
field(:name, :string)
belongs_to(:movie, Friends.Movie)
end
end
*The project is from the Ecto Elixir School tutorial
https://elixirschool.com/en/lessons/ecto/associations
Marked As Solved
benwilson512
Author of Craft GraphQL APIs in Elixir with Absinthe
It looks like you have a typo here. This says “charaters” but should be “characters”.
In the future, you can also psql your_database_here and then type \l to have it list the tables that exist, which can help make it easier to see typos like this.
3
Popular in Questions
Hi! May someone helps me, please!
I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
This should be a simple problem but I just can’t seem to figure it out. I have a standalone Elixir app that won’t find the database.
Dep...
New
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this
"1000"
What is the ...
New
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
I am trying to run a deploy with docker and I successfully runned with this command:
docker build -t romenigld/blog-prod .
but when I t...
New
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors:
[WARN] - (starship::utils): Executing command ...
New
Hi everyone!
I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
Other popular topics
Phoenix 1.4.0 released
Phoenix 1.4 is out! This release ships with exciting new features, most notably
with HTTP2 support, improved deve...
New
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
New
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
I have followed this StackOverflow post to install the specific version of Erlang.
And When I am running mix ecto.setup then getting fol...
New
As a follow up to my earlier question:
I have the code compiling and running but not getting a successful login from the rest server. ...
New
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this
"1000"
What is the ...
New
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
Hi,
I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
Hey :wave:t3: Elixir community,
I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New








