для сохранения в changeset валидаторы выкидывают ошибку. Её нужно хэндлить через try/catch при вызове build(data) |> Repo.insert? или нужно позволить упасть вызывающему серверу? Поискал на гитхабе проекты по запросу elixir umbrella, но в них не нашел ничего про трай кетчи вроде. Типа "Ебанет? Не должно"
Можешь пример привести? Они обычно возвращают не валидный changeset
Вот, к примеру, исключение, которое я получаю при попытке сохранить два объекта с одинаковыми именами. Хотелось бы отловить это и сообщить пользователю о том, что у него ошибка в данных
Ты вызываешь insert! чтоли?
Ага. С ним проблема?
тебе нужен Repo.insert/2
Смотри https://hexdocs.pm/ecto/Ecto.Changeset.html#unique_constraint/3
Обсуждают сегодня