我依靠Ecto在插入失败的数据库级别约束时返回一个错误。ecto错误中的Elixir模式匹配
根据Ecto返回的错误类型是否可以运行不同的代码?
case Repo.insert(changeset) do
{:ok, _} ->
IO.puts("inserted")
{:error, message} when is_certain_ecto_error ->
IO.puts("database constraint error")
{:error, message} ->
IO.puts("everything else error")
end
当插入失败时,Ecto将返回一个'{:error,changeset}'元组。您需要查看错误并决定要做什么。 –
那么一个完整的字符串检查?有没有一种很好的方式来检查Ecto.ConstraintError –