你如何拯救一个Ecto.ConstraintError(由唯一性冲突引起 - 我对一个名为“field”的字符串属性有一个唯一索引)
这是我的代码仍然提高错误,似乎没有救援 - ecto.migration停止:
try do
Repo.insert(model_changeset, on_conflict: :nothing)
rescue
e -> IO.puts(inspect e)
end
还有一点需要注意 - 有时model_changeset不是变更集而是结构 - 我应该总是传递变更集吗?我假设救援条款没关系 - 我应该能够根据我指定的方式挽救任何一般错误。
编辑:
这是相关的错误消息:
%Ecto.ConstraintError{constraint: "cars_field_index", message: "constraint error when attempting to insert struct:\n\n * unique: claims_name_index\n\nIf you would like to convert this constraint into an error, please\ncall unique_constraint/3 in your changeset and define the proper\nconstraint name. The changeset has not defined any constraint.\n", type: :unique}
** (DBConnection.ConnectionError) transaction rolling back