romenigld
Are not showing erros of the unique index constraint
I am trying to show the error message and test the unique index
I create the index on the produtcs table:
create unique_index(:products, [:name])
on the schema I put:
|> unique_constraint(:name, name: :products_name_index)
also used:
|> unique_constraint(:name)
but it isn’t showing the error on the liveview and tests.
When I try to add by iex:
Products.create_product(prod)
2022-06-25 02:08:30.181 CEST [38686] ERROR: duplicate key value violates unique constraint "products_name_index"
2022-06-25 02:08:30.181 CEST [38686] DETAIL: Key (name)=(water) already exists.
2022-06-25 02:08:30.181 CEST [38686] STATEMENT: INSERT INTO "products" ("description","name","price","size","inserted_at","updated_at","id") VALUES ($1,$2,$3,$4,$5,$6,$7)
[debug] QUERY ERROR db=2.0ms queue=2.1ms idle=1179.5ms
INSERT INTO "products" ("description","name","price","size","inserted_at","updated_at","id") VALUES ($1,$2,$3,$4,$5,$6,$7) ["water 1l", "water", 5, "small", ~N[2022-06-25 00:08:30], ~N[2022-06-25 00:08:30], <<38, 38, 232, 141, 234, 198, 71, 215, 176, 145, 70, 194, 33, 70, 125, 209>>]
↳ :erl_eval.do_apply/6, at: erl_eval.erl:685
{:error,
#Ecto.Changeset<
action: :insert,
changes: %{
description: "water 1l",
name: "water",
price: %Money{amount: 5, currency: :BRL},
size: "small"
},
errors: [
name: {"has already been taken",
[constraint: :unique, constraint_name: "products_name_index"]}
],
data: #FoodOrder.Products.Product<>,
valid?: false
>}
It works but it is not showing on the liveview error_tag and when I test.
The others validation is showing like the can’t be blank.
What do I need to do?
Marked As Solved
romenigld
I saw the error now it was the last {:noreply, socket} on the handle_event("save", ....)
I removed and worked.
thank you for reply @benwilson512
0
Popular in Questions
Hi there,
I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum.
...
New
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
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
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
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: )
Hello all, this is ...
New
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
Other popular topics
Hi!
In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir?
Searched the docs for ip address and the web, no good results.
Thanks!
New
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
New
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
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!)
This post collects co...
New
Credo is smart enough to check for (something like) this:
assert length(the_list) == 0
with this response:
Checking if an enum is empt...
New
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
Latest Phoenix Threads
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security









